[WPF] Problema con la gestione degli eventi tra una finestra padre ed ...

venerdì 21 maggio 2010 - 14.48

lukepet Profilo | Junior Member

Ho uno strano comportamento nella gestione degli eventi tramite WPF.
La mia situazione è questa: ho una finestra padre che apre una finestra figlia in maniera modale, la child window ritorna un dato che poi verrà trattato dalla finestra padre.

Il problema è che dopo che ho chiuso la finestra figlia, i riferimenti agli event handler associati ai controlli della finestra figlia rimangono ancora attivi; per cui, se scateno un property changed dalla finestra padre vengono attivati gli eventi della finestra figlia precedentemente aperta.

Per spiegarmi meglio vi allego una stupidissima implementazione che descrive il problema.

Per vedere il comportamento in azione fate così:
- Una volta che la finestra principale è avviata cliccate sul button "ChildWindow" (in Output sulla console vedrete che viene scatenato l'evento PropertyChanged e fin qui tutto ok)
- Chiudete la ChildWindow
- A questo punto cliccate sul button "Test" della finestra principale -> viene di nuovo scatenato l'evento SelectionChanged associato al ComboBox della finestra figlia anche se è stata chiusa!

La mia domanda è: che cosa c'è di sbagliato? quale è l'approccio migliore per evitare questo tipo di comportamento?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5