我正在尝试设置我的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中正确执行此操作。
有什么想法吗?