WPF自定义错误处理对话框?

问题描述:

我想设置我的WPF应用程序,以便当异常未处理时,弹出一个错误对话框。在良好的醇”的WinForms,这是通过添加WPF自定义错误处理对话框?

Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); 

为了您的Program.cs文件,然后显示在你的事件处理代码想任何对话。在WPF中,我试图用

app.Dispatcher.UnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Dispatcher_UnhandledException); 

然而,当我在我的错误处理自定义窗口上使用展(),应用程序立即转到“blahblah.exe已停止工作......”并关闭。如果我使用ShowDialog(),该窗口在关闭之前一直可用,然后同样的“...已停止工作...”对话框弹出并消失。

在WinForms中,似乎关闭任何错误对话框都将允许应用程序继续运行,具体取决于异常的严重程度。我似乎无法弄清楚如何在WPF中正确执行此操作。

任何想法?

您需要在EventArgs中将Handled设置为true。

在Aplication.xaml.vb中,这个文件有很多方法来帮助他们,storyborads和其他东西,你需要在这个文件中类似的东西。适合我,希望对你有所帮助

Private Sub Application_DispatcherUnhandledException(ByVal sender As Object, ByVal e As System.Windows.Threading.DispatcherUnhandledExceptionEventArgs) Handles Me.DispatcherUnhandledException 

     Dim lWinError As New winError("Ocurrio un error no controlado en la aplicacion") 
     lWinError.ShowDialog() 
     e.Handled = True 
    End Sub