Диалоговое окно обработки ошибок WPF?

Я пытаюсь настроить приложение WPF так, чтобы, когда исключение обрабатывается без ошибок, появляется диалоговое окно с ошибкой. В хороших версиях WinForms это было возможно, добавив

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

В файл Program.cs, а затем покажите любой диалог, который вы хотите в коде обработки событий. В WPF я пытался использовать

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

Однако, когда я использую Show() в своем пользовательском окне обработки ошибок, приложение сразу переходит к "blahblah.exe перестало работать..." и закрывается. Если я использую ShowDialog(), окно можно использовать до тех пор, пока оно не будет закрыто, а затем всплывет и запустится тот же диалог "... перестала работать...".

В WinForms кажется, что закрытие любого диалогового окна с ошибкой позволит продолжить работу приложения, в зависимости от того, насколько серьезным было это исключение. Я не могу понять, как правильно это сделать в WPF.

Любые идеи?

Ответ 1

В EventArgs вам необходимо установить Handled на true.

Ответ 2

В 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