Tôi đang cố gắng thiết lập ứng dụng WPF của mình để khi ngoại lệ không được giải quyết, hộp thoại báo lỗi sẽ xuất hiện. Trong winForms tốt, bạn có thể thực hiện điều này bằng cách thêmHộp thoại xử lý lỗi tùy chỉnh WPF?
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
vào tệp Program.cs của bạn và sau đó hiển thị bất kỳ hộp thoại nào bạn muốn trong mã xử lý sự kiện. Trong WPF Tôi đã cố gắng sử dụng
app.Dispatcher.UnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Dispatcher_UnhandledException);
Tuy nhiên, khi tôi sử dụng Show() trên cửa sổ tùy chỉnh lỗi xử lý của tôi, việc áp dụng ngay lập tức đi vào "blahblah.exe đã ngừng làm việc ..." và đóng cửa. Nếu tôi sử dụng ShowDialog(), cửa sổ có thể sử dụng cho đến khi nó đóng lại và sau đó hộp thoại "... đã ngừng hoạt động ..." bật lên và chết.
Trong WinForms, có vẻ như đóng bất kỳ hộp thoại báo lỗi nào sẽ cho phép ứng dụng tiếp tục chạy, tùy thuộc vào mức độ nghiêm trọng của ngoại lệ. Tôi không thể có vẻ để tìm ra cách để làm điều này đúng trong WPF.
Bất kỳ ý tưởng nào?