Il blog di Giuseppe Marchi - SharePoint MVP
NAVIGATION - SEARCH

Bug nella chiusura di una Child Window in Silverlight 4

Se avete letto il mio articolo su SilverlightItalia riguardo la creazione di finestre modali in Silverlight utilizzando le Child Windows, potete essere facilmente incappati in questo bug.
Il comportamento è il seguente: dopo che è stata effettuata la chiusura di una finestra figlia per la seconda volta, chiusura data dalla chiamata al metodo Close() della finestra, tutto lo user control "chiamante" risulterà disabilitato. Quindi non sarà più possibile effettuare alcun tipo di operazione su di esso.
Questo comportamento NON si verificava in Silverlight 3, ma si verifica in Silverlight 4.

Per risolvere, basta settare a true la dependency property IsEnabled del controllo padre di tutta la nostra applicazione Silverlight, una volta che la finestra viene chiusa (quindi all'interno dell'handler legato all'evento Closed).

childWindow.Closed += (s, args) => 

{
Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true);
};

Così facendo, il controllo chiamante viene riabilitato e l'utente potrà continuare ad utilizzare l'applicazione liberamente.
Spero sia utile a qualcuno.
blog comments powered by Disqus