Sto provando a configurare la mia applicazione WPF in modo che quando un'eccezione non viene gestita, viene visualizzata una finestra di errore. In buon ol' WinForms questo è stato possibile con l'aggiunta diFinestra di dialogo per la gestione degli errori personalizzata WPF?
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Per il file Program.cs e poi mostrando qualunque finestra di dialogo che si voleva nel codice di gestione degli eventi. In WPF ho cercato di utilizzare
app.Dispatcher.UnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Dispatcher_UnhandledException);
Tuttavia, quando uso Show() sulla mia finestra personalizzata di gestione degli errori, l'applicazione va subito al "blahblah.exe ha smesso di funzionare ..." e si chiude. Se uso ShowDialog(), la finestra è utilizzabile fino a quando non viene chiusa e quindi la stessa finestra di dialogo "... ha smesso di funzionare ..." si apre e muore.
In WinForms, sembra che chiudere qualsiasi finestra di dialogo di errore consentirebbe all'app di continuare a funzionare, a seconda di quanto grave fosse l'eccezione. Non riesco a capire come farlo correttamente in WPF.
Qualche idea?