Here is 类似的问题 https://stackoverflow.com/questions/12698666/how-to-close-message-dialog-programmatically关于如何以编程方式关闭 Win8 应用程序中的 MessageDialog,但问题的作者正在使用 C#。我很好奇如何用 WinJS 解决这个问题。有没有办法使用 WinJS 以编程方式取消 MessageDialog,而无需访问对话框本身内的 CommanUI 对象?我不能简单地调用与附加 CommandUI 按钮关联的处理程序,因为在某些情况下,我不知道哪个按钮索引具有该功能。
有小费吗?
Thanks!
MessageDialog.showAsync http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.popups.messagedialog.showasync.aspx返回一个IAsyncOperation<IUICommand> http://msdn.microsoft.com/en-us/library/windows/apps/br206598.aspx对象并继承自IAsyncInfo http://msdn.microsoft.com/en-us/library/windows/apps/windows.foundation.iasyncinfo.aspx. The IAsyncInfo http://msdn.microsoft.com/en-us/library/windows/apps/windows.foundation.iasyncinfo.aspx接口包括一个cancel http://msdn.microsoft.com/en-us/library/windows/apps/windows.foundation.iasyncinfo.cancel.aspx通常取消异步操作的方法。对于消息对话框,如果对话框仍然存在,则对异步操作调用取消将关闭该对话框。
var asyncOperation = messageDialog.showAsync();
asyncOperation.cancel();
更多信息关于WinRT 异步编程模式 http://msdn.microsoft.com/en-us/library/windows/apps/hh464924.aspx可以在MSDN上找到。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)