Xaml未处理的异常弹出窗口没有出现

时间:2017-10-13 19:18:26

标签: c# wpf xaml

嘿我的错误处理问题。基本上我试图显示一个弹出窗口,允许用户输入他们在发生未处理的异常时所采取的任何步骤。如果我把它写成普通的c#popup,我可以做得很好但是如果我在xaml中创建弹出窗口则不是这种情况。如果我在xaml中创建它,我会得到一个 "我们的应用程序已进入中断状态,但没有代码可以显示,因为所有线程都在执行外部代码"消息和应用程序关闭。

现在,如果我将弹出窗口添加到onclick事件中,它会正确显示。

 AppDomain currentDomain = AppDomain.CurrentDomain;
        currentDomain.UnhandledException += new 
 UnhandledExceptionEventHandler(ShowExceptionPopUp);

并显示ExceoptionPopUp方法

   ErrorPopup error = new ErrorPopup(sender, e);

在ErrorPop类中

  InitializeComponent();
        this.errorSender = errorSender;
        this.eventArgs = eventArgs;

如果我单步执行,则在InitializeComponent()上完成。我想知道有人可以为我解释这个问题吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

嘿,所以我最终修好了。问题是资源是多线程的,而xaml ui只能是单线程的。痛苦地解决但是一切都很好。谢谢你的帮助