代码之家  ›  专栏  ›  技术社区  ›  Eric Smith

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

  •  10
  • Eric Smith  · 技术社区  · 15 年前

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

    然后在事件处理代码中显示所需的任何对话框。在WPF中,我尝试使用

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

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

    2 回复  |  直到 15 年前
        1
  •  7
  •   Botz3000 Amir Sheng    15 年前

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

        2
  •  0
  •   Zach    15 年前

    在Aplication.xaml.vb中,该文件有许多方法可以帮助主题、故事板和其他内容,您需要在该文件中使用类似的内容。为我工作,希望你也能

    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