在 c# Xamarin 中等待带有弹出窗口的任务

Posted

技术标签:

【中文标题】在 c# Xamarin 中等待带有弹出窗口的任务【英文标题】:Await a task with popup in c# Xamarin 【发布时间】:2020-02-13 19:57:40 【问题描述】:

在我的 Xamarin 表单项目中,我有两个弹出窗口一个接一个地显示。

await HandlePopup1(); // Shows popup1
await HandlePopup2(); // Shows popup2 

这里,HandlePopup2 的任务不是等待 popup1 关闭。

如何处理。 TIA。

【问题讨论】:

您能否添加HandlePopup1() 和/或(如果它们不同)HandlePopup2() 的代码? 【参考方案1】:

您需要将对话框设置为模型,但这取决于您的框架和您使用的内容。或者,您可以使用AutoResetEvent(或某种同步对象),或者如果您想看中浮动的async 变体之一。

using(var resetEvent = new AutoResetEvent(false))

    await HandlePopup1(resetEvent); // Shows popup1
    // Wait
    resetEvent.WaitOne();

    await HandlePopup2(); // Shows popup2

然后在您的对话框中使用onclosed / onclosing 方法(或类似方法)。只需点击Set

resetEvent.Set()

【讨论】:

以上是关于在 c# Xamarin 中等待带有弹出窗口的任务的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 Xamarin 表单的 Rg 插件弹出窗口

在 CMD 中运行 PowerShell 脚本(带有弹出窗口)

c#中xamarin怎么添加包

弹出窗口中的 Xamarin.Forms 日期选择器

c#,如何弹出一个显示在最前面但没有焦点的窗口?谢谢!

ContentPage Xamarin.Forms 中的多个弹出窗口