在UI线程中

在APP.XAML中定义 DispatcherUnhandledException事件

在工作线程中

 PageMain.GetInstance().Dispatcher.Invoke((MethodInvoker)delegate  {

throw ex;
}

任何当前Dispatcher线程(即UI线程)的未处理异常都可以选择处理或者不处理(通过DispatcherUnhandledExceptionEventArgs.IsHandled属性),选择处理的话未处理异常就不会崩溃整个WPF应用程序了。

相关文章: