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

时间:2013-08-29 16:56:24

标签: windows-8 winjs

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

任何提示?

谢谢!

1 个答案:

答案 0 :(得分:6)

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

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

有关WinRT asynchronous programming pattern的更多信息,请访问MSDN。