Ho una pagina all'interno di un'applicazione di navigazione in stile WPF che mostra i risultati della ricerca. La pagina contiene diversi controlli con associazione a dati. La pagina stessa funziona bene; esegue la ricerca e restituisce risultati. I controlli CheckBox associati a dati funzionano correttamente.Associazione dati WPF MVVM interrotta dopo l'esplorazione della pagina
Ma se faccio clic su un collegamento risultato e poi sul pulsante Indietro per tornare all'elenco dei risultati, tutti i miei binding dati CheckBox.IsChecked
sono interrotti. Altri controlli associati ai dati (ComboBox, DatePickers, ecc.) Continuano a funzionare come previsto. Il binding con altre proprietà sul controllo CheckBox, come IsEnabled
, funziona correttamente. Ma il binding IsChecked
rimane interrotto finché non aggiorno la pagina.
Ecco il XAML utilizzato per uno dei miei controlli CheckBox:
<CheckBox IsChecked="{Binding IncludeNote}" Content="Note" IsEnabled="{Binding IsBusy, Converter={StaticResource boolNot}}" />
Come si può vedere, non c'è niente di speciale succedendo qui. Ma dopo aver spostato l'app WPF in avanti o indietro alla pagina, l'associazione IsChecked
verrà interrotta mentre la proprietà continuerà a funzionare.
Cosa sta succedendo qui? è un insetto?
UPDATE: Dopo aver giocato con alcune alternative, ho scoperto che questo problema riguarda anche il controllo ToggleButton, da cui deriva CheckBox.
UPDATE2: Ed è anche danneggiato per la proprietà TextBox.Text.
C'è un modo per "aggiornare" i binding di dati per questi controlli? O dovrei prendere qualche altro approccio per risolvere questo problema?
Il problema più grande qui è che può causare rapidamente una perdita di memoria (s). – ouflak