36 messaggi dal 01 giugno 2007
Ciao, ho riscontrato un problema nell'utilizzo del controllo timePicker del Silverlight toolkit. in un contesto dove è implicato il framework mvvmlight.

Il problema è il seguente, eseguendo la cleanUp del viewModel collegato ad una view che al suo interno ha 2 timepicker, la view non viene resa disponibile per il GC, cosa che invece accade qualora rimuovo i due oggetti Timepicker dalla view.

Per completezza vi informo che ho provato a eliminare ogni impostazione non di default dai due controlli, compresi i valori bindati, ma con scarso successo, l'unico modo in cui la memoria occupata dalla vista può essere riutilizzata, è rimuovere i due controlli.

Ho fatto una riproduzione del problema reperibile http://dl.dropbox.com/u/15044930/timepickerBug.zip a questo indirizzo.

aprendo il progetto, si lancia e, cliccando sul pulsante presente l'applicazione cerca di distruggere e ricreare una view in un content control, ma quando si va a verificare (io ho utilizzato winDbg per verificarlo) ci sono N view pari al numero di click che si è fatto con il mouse
Cosa che invece non accade se nella pagina xaml commento il timepicker e lo sostituisto magari con un date picker:


toolkit:TimePicker Height="22" HorizontalAlignment="Left" Margin="133,24,0,0" Name="timePicker1" VerticalAlignment="Top" Value="{Binding Path=time}" />

<!--<sdk:DatePicker Height="23" HorizontalAlignment="Left" Margin="119,12,0,0" Name="datePicker1" VerticalAlignment="Top" Width="120" SelectedDate="{Binding Path=time, Mode=TwoWay}" />-->
Non sei l'unico  https://connect.microsoft.com/VisualStudio/feedback/details/617573/memory-leak-with-timepicker-control

Comunque sull'Unload se resetti i figli (nel tuo esempio this.gridList.Children.Clear()), il timepicker dovrebbe sganciarsi e la view viene rilasciata.

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.