如何使用WinJS以编程方式关闭Win8应用程序中的MessageDialog?

ari*_*tav 3 windows-8 winjs

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

有小费吗?

谢谢!

Nat*_*hta 6

MessageDialog.showAsync返回一个IAsyncOperation<IUICommand>对象并继承自IAsyncInfo.该IAsyncInfo接口包括cancel一般取消异步操作的方法.对于消息对话框,在异步操作上调用cancel将取消该对话框(如果它仍然存在).

var asyncOperation = messageDialog.showAsync();
asyncOperation.cancel();
Run Code Online (Sandbox Code Playgroud)

有关WinRT异步编程模式的更多信息可以在MSDN上找到.