2011-11-13 16 views
8

La mia applicazione è costruita in WPF ma include alcuni componenti di WinForms che abbiamo scritto. Quando un'eccezione non viene gestita in uno dei componenti di WinForms, si blocca l'applicazione.Gestione delle eccezioni non gestite dai componenti Winform in WPF

Ho implementato DispatcherUnhandledException per eventi WPF. Ciò è positivo perché consente di visualizzare un errore e contrassegnare l'eccezione come Gestito per evitare l'arresto anomalo.

Posso fare qualcosa di simile con le eccezioni non WPF. Speravo che la finestra di dialogo standard di WinForms venisse visualizzata e consentisse all'utente di continuare o quasi l'applicazione?

Edit: WinForms eccezioni non vengano in contatto DispatcherUnhandledException ma impostazione e.Handled alla vera non si ferma l'applicazione dal crash.

+1

puoi mostrare del codice su come stai visualizzando/utilizzando i moduli di Windows Form? –

+0

'DispatcherUnhandledException' dovrebbe rilevare eventuali eccezioni non gestite nel thread dell'interfaccia utente. I componenti di WinForms utilizzano altri thread? O stai accedendo da altri thread per sbaglio? – svick

+0

@DavidePiras Sono ospitati in un controllo WindowsFormsHost nel markup WPF. Per esempio. windowsFormsHost.Child = [istanza del controllo WinForms] –

risposta