Ich habe eine Seite in einer WPF-Navigationsstil-Anwendung, die Suchergebnisse anzeigt. Die Seite enthält mehrere datengebundene Steuerelemente. Die Seite selbst funktioniert gut; es führt die Suche durch und gibt Ergebnisse zurück. Die datengebundenen CheckBox-Steuerelemente funktionieren ordnungsgemäß. Wenn ich auf einen Ergebnislink klicke und dann auf die Zurück-Schaltfläche klicke, um zur Ergebnisliste zurückzukehren, sind alle meine CheckBox.IsChecked
Datenbindungen unterbrochen. Andere datengebundene Steuerelemente (ComboBoxes, DatePickers usw.) funktionieren weiterhin wie erwartet. Die Bindung an andere Eigenschaften des CheckBox-Steuerelements, z. B. IsEnabled
, funktioniert ordnungsgemäß. Aber die Bindung IsChecked
bleibt unterbrochen, bis ich die Seite aktualisiere.WPF-MVVM-Datenbindung nach Seitennavigation unterbrochen
Hier ist der XAML verwendet für eine meiner CheckBox Kontrollen:
<CheckBox IsChecked="{Binding IncludeNote}" Content="Note" IsEnabled="{Binding IsBusy, Converter={StaticResource boolNot}}" />
Wie Sie sehen können, gibt es nichts Besonderes los hier. Wenn Sie die WPF-App jedoch vorwärts oder rückwärts zur Seite navigieren, wird die Bindung IsChecked
unterbrochen, während die Eigenschaft IsEnabled
weiterhin funktioniert.
Was geht hier vor? Ist das ein Fehler?
UPDATE: Nachdem ich mit einigen Alternativen herumgespielt habe, entdeckte ich, dass dieses Problem auch das ToggleButton-Steuerelement betrifft, von dem CheckBox abgeleitet ist.
UPDATE2: Und es ist auch für die TextBox.Text -Eigenschaft gebrochen.
Gibt es eine Möglichkeit, die Datenbindungen für diese Steuerelemente zu "aktualisieren"? Oder sollte ich einen anderen Ansatz zur Behebung dieses Problems wählen?
Das größte Problem hier ist, dass es schnell zu einem Speicherverlust (s) führen kann. – ouflak