WPF

2011-11-13 18 views
8

'daki Winforms bileşenlerinden İşlenmeyen Özel Durumlar'ın işlenmesi WPF'de uygulamam ancak yazdığımız WinForms bileşenlerini içerir. Bir istisna, WinForms bileşenlerinden birinde işlenmediğinde, uygulamayı çöker.WPF

WPF olayları için DispatcherUnhandledException uyguladık. Bu iyidir çünkü bir hatayı görüntülememe ve kazayı önlemek için özel durumu İşaretle olarak işaretlememe izin verir.

WPF olmayan istisnalarla benzer bir şey yapabilir miyim? Kullanmakta olan standart WinForms iletişim kutusunu ve kullanıcının uygulamayı devam ettirmesini veya tamamen uygulamayı beklemesini umuyordum?

Düzeltme: WinForms istisnaları DispatcherUnhandledException'da yakalanır, ancak e.Handled değeri true olarak ayarlandığında uygulamanın kilitlenmesine neden olmaz.

+1

Windows Forms formlarını nasıl gösterdiğiniz/kullandığınızla ilgili bazı kodları gösterebilir misiniz? –

+0

'DispatcherUnhandledException', kullanıcı arabirimindeki işlenmeyen özel durumları yakalamalıdır. WinForms bileşenleriniz diğer konuları kullanıyor mu? Yoksa yanlışlıkla başka konulara mı erişiyorsunuz? – svick

+0

@DavidePiras WPF biçimlendirmesinde WindowsFormsHost denetiminde barındırılıyor. Örneğin. windowsFormsHost.Child = [WinForms kontrolünün örneği] –

cevap

8
+0

Hayır, bunları denemedim. Bir göz atacak. –

+0

Çok teşekkürler! SetUnhandledExceptionMode hile yaptı. –

+0

Onları tam olarak nasıl kullanıyorsunuz? ThreadException için bir işleyici ayarlamak için WPF App başlangıçta denedim ve sonra SetUnhandledExceptionMode CatchException için ama işleyici asla çağrılmıyor .. –