暂停执行方法,直到引发ListView中的SelectionChanged事件

时间:2017-03-17 23:46:42

标签: c# .net windows-10-universal

我在C#中有一个Windows 10 uwp应用程序。在一种方法中,我检查字符串列表。如果我的列表中只有一个项目,那么我们很好。但是,如果我有多个项目,我想弹出一个ListView,以便用户可以从倍数中选择一个字符串。当他们选择一个时,会引发ListView_SelectionChanged事件,我可以获取所选的字符串。但是,这与调用者的方法/事件明显不同。

问题是,我希望调用方法暂停执行并等到用户从ListView中选择一个字符串。之后,他们选择一个,我需要继续在调用者中执行。我知道这是通过while循环和过去的标志来完成的,但这是阻塞的。我不一定关心它是否阻止但是使用async / await和其他新的框架功能,我相信还有更好的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果您需要非阻塞解决方案,则需要实施 async / await 。 当执行遇到await关键字时,它会将控制权返回给调用者。用户从aView运算符上的ListView控件恢复中选择值后。

有关Asynchronous Programming with async and await (C#)的更多信息。

答案 1 :(得分:0)

我想我不小心以两次不同的方式问了同样的问题。为此,我道歉。我想我仍然在寻找解决这个问题的方法,没有任何答案可行,我再次发布。

那就是说,我终于想出了一个适合我的解决方案,我想分享它。我已经在我的另一个问题上回答了这个问题,所以这里是它的链接。

My answer on the other post

希望这有帮助!