首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 8.1 MessageDialog结果

Windows 8.1 MessageDialog结果
EN

Stack Overflow用户
提问于 2015-08-11 12:31:44
回答 1查看 269关注 0票数 2

在Windows 8.1中,从MessageDialog获得所选选项时,我遇到了问题。我想要做的是等待用户选择该选项,然后获得所选选项并对其进行处理。

我是这样做的:

代码语言:javascript
复制
... initializing MessageDialog object called dialog ...
answer = (int)dialog.ShowAsync().GetResults().Id

但是,answer变量不会被分配,因为GetResults不需要等待用户操作就会立即返回并返回null。

我必须同步获得结果,因为这段代码在属性中,更重要的是在catch块中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 12:48:48

您需要等待任务完成,GetResults才会有一个有效的结果。简单的方法是使用“等待”等待对话框的完成:

代码语言:javascript
复制
var cmd = await dialog.ShowAsync();
answer = (int)cmd.Id;

不能在属性中调用异步函数,也不能阻止UI线程使MessageDialog同步。

相反,返回一个存根答案并调用另一个函数来获得异步结果。当结果在属性上可用并触发更改通知时。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31941891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档