【发布时间】:2017-03-30 00:20:07
【问题描述】:
我有一个 C# 中的 Windows 10 uwp 应用程序。在一种方法中,我检查了一个字符串列表。如果我的列表中只有一项,我们很好。但是,如果我有多个项目,我想弹出一个 ListView 以便用户可以从多个中选择一个字符串。当他们选择一个时,会引发 ListView_SelectionChanged 事件,我可以获得选定的字符串。但是,这显然与调用者的方法/事件不同。
问题是,我希望调用方法暂停执行并等到用户从 ListView 中选择一个字符串。之后,他们选择了一个,我需要在调用者中继续执行。我知道这在过去是通过一个 while 循环和一个标志完成的,但这是阻塞的。我不一定关心它是否会阻塞,但有了 async/await 和其他新的框架功能,我确定有更好的方法吗?
谢谢!
【问题讨论】:
-
您根本无法在具有 void 签名的事件处理程序中暂停执行。由于无法将其更改为任务,因此它不支持异步流。
标签: c# .net windows-10-universal