Я пытаюсь настроить свое приложение 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.
Есть идеи?