关于如何以编程方式关闭Win8应用程序中的MessageDialog,以下是a similar question,但该问题的作者正在使用C#。我很好奇如何用WinJS解决问题。有没有办法以WinJS编程方式取消MessageDialog而无法访问对话框本身内的CommanUI对象?我不能简单地调用与附加的CommandUI按钮关联的处理程序,因为在某些情况下,我不知道哪个按钮索引具有该功能。
任何提示?
谢谢!
答案 0 :(得分:6)
MessageDialog.showAsync
返回IAsyncOperation<IUICommand>
个对象,并从IAsyncInfo
继承。 IAsyncInfo
接口包含cancel
方法,该方法通常取消异步操作。对于消息对话框,在异步操作上调用cancel将取消该对话框(如果它仍然存在)。
var asyncOperation = messageDialog.showAsync();
asyncOperation.cancel();
有关WinRT asynchronous programming pattern的更多信息,请访问MSDN。