c# - 如何以编程方式关闭消息对话框

标签 c# windows-8 windows-runtime messagedialog

我正在尝试关闭我的 WinRT 应用程序中的 MessageDialog。我注意到如果我尝试同时显示两个消息对话框,我会收到 UnauthorizedAccessException。为避免这种情况,我想关闭打开的现有消息对话框。我用它来显示对话框:

    MessageDialog md = new MessageDialog(" ");

    private void MessageBox(string s)
    {
        Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            md.Content = s;
            //CLOSE HERE
            md.ShowAsync();
        }
        );
    }

如何关闭它?

最佳答案

与其尝试找到关闭它的方法,不如试试这个 为 AsyncCommand 声明一个实例变量;

AsyncCommand command;

command = md.ShowAsync();

然后在您的命令处理程序中,在运行您的方法之前检查命令是否为空

if(command!=null)
{
command.Cancel();
}

// 做事/再试一次 block

关于c# - 如何以编程方式关闭消息对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12698666/

相关文章:

c++ - 有关使用 C++\XAML for Metro 进行 Windows 8 编程的资源和信息

c# - 使相机应用程序适应屏幕旋转 - Windows Phone RT

c# - AppDomain.UnhandledException与RegisterApplicationRecoveryCallback

c# - ‘finally’ block 可以更改其 ‘try’ block 的返回值吗?

windows-8 - 适用于移动设备的 Windows 8 应用程序

windows-8 - 使用 WritableBitmapEx 从 xaml 控件创建位图图像

php - Windows 8 应用程序 C# 与 PHP 和 Mysql

windows-runtime - WP8.1 上的 Flipview VirtualizingStackPanel 方向更改

c# - Response.Write Base64字符串

c# - 我计算基本括号表达式的算法的缺陷在哪里?