微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除 MessageBox 导致 WPF 应用程序在设置内容时崩溃

如何解决删除 MessageBox 导致 WPF 应用程序在设置内容时崩溃

当使用以下代码双击 DataGrid 时,我正在尝试更改 ContentControl 的内容

    private void homeGrid_MouseDoubleClick(object sender,MouseButtonEventArgs e)
    {
        if (homeGrid.SelectedItem != null)
        {                
            Document selectedDoc = (Document)homeGrid.SelectedItem;
          
            // Will Crash if this Message Box Removed
                MessageBox.Show(selectedDoc.FilePath);     

            mainWindow.contentControl.Content = new DocumentView(selectedDoc);
        }           
    }

哪个工作正常并且内容已加载,但是如果我删除消息框,我会收到以下错误

WindowsBase.dll 中发生类型为“system.invalidOperationException”的未处理异常
附加信息:调度程序处理已暂停,但仍在处理消息。

如何删除此消息框并仍然正确加载内容

谢谢。

解决方法

我从双击网格中删除了事件并将其放置在一个按钮下,如下所示:

   private void Go_Click(object sender,RoutedEventArgs e)
    {
        if (homeGrid.SelectedItem != null)
        {
            Document selectedDoc = (Document)homeGrid.SelectedItem;

            // Will Crash if this Message Box Added?
            //     MessageBox.Show(selectedDoc.FilePath);                            

            mainWindow.contentControl.Content = new DocumentView(selectedDoc);
        }           
    }

这已经解决了问题,尽管现在令人困惑地将消息框重新添加会导致相同的异常。可能与这个问题有关:WPF : Dispatcher processing has been suspended,but messages are still being processed

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。