【问题标题】:How to programmatically close a MessageDialog in Win8 app using WinJS?如何使用 WinJS 以编程方式关闭 Win8 应用程序中的 MessageDialog?
【发布时间】:2013-08-29 16:56:23
【问题描述】:

这里是a similar question,关于如何以编程方式关闭 Win8 应用程序中的 MessageDialog,但问题的作者使用的是 C#。我很好奇如何用 WinJS 解决这个问题。有没有办法用 WinJS 以编程方式取消 MessageDialog 而无需访问对话框本身中的 CommanUI 对象?我不能简单地调用与附加的 CommandUI 按钮关联的处理程序,因为在某些情况下,我不知道哪个按钮索引具有该功能。

有什么建议吗?

谢谢!

【问题讨论】:

    标签: windows-8 winjs


    【解决方案1】:

    MessageDialog.showAsync 返回一个IAsyncOperation<IUICommand> 对象并继承自IAsyncInfoIAsyncInfo 接口包含一个cancel 方法,该方法通常取消异步操作。在消息对话框的情况下,在异步操作上调用取消将关闭对话框(如果它仍然存在)。

    var asyncOperation = messageDialog.showAsync();
    asyncOperation.cancel();
    

    有关WinRT asynchronous programming pattern 的更多信息可以在 MSDN 上找到。

    【讨论】:

    • 哇,谢谢。这在文档中绝对不清楚,但效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    相关资源
    最近更新 更多