在 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 中等待带有弹出窗口的任务的主要内容,如果未能解决你的问题,请参考以下文章