WPF-CheckBox-TwoWay-Bindung nicht funktioniert
Habe ich
<DataGridCheckBoxColumn
Binding="{Binding Path=Foo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
/>
Und
public bool Foo{ get; set; }
Aktivieren/Deaktivieren legt Foo
, aber die Einstellung Foo
im code ändert nicht den Zustand einer Checkbox. Alle Suggesitons?
- weiß nicht, warum du nach unten gestimmt. Ich hatte die gleiche Frage und dieses gelöst. von Ihnen positiv bewertet werden für Sie.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie erhöhen die
PropertyChanged
Ereignis, wenn Sie festlegen, Foo in IhremDataContext
. Normalerweise würde es so Aussehen:Wenn Sie anrufen
Foo = someNewvalue
, diePropertyChanged
Ereignis wird ausgelöst und der Benutzeroberfläche aktualisiert werden sollIch verbrachte Stunden auf der Suche für eine vollständige Antwort auf diese Frage. Ich denke, einige Leute davon ausgehen, dass andere Menschen auf der Suche dieses Problem kennen die Grundlagen - manchmal wissen wir nicht. Ein sehr wichtiger Teil über die Einstellung die Daten des Formulars Kontext wurde in der Regel fehlt:
Meine checkbox-Steuerelement wurde im xaml-Datei wie folgt:
Den "Pfad=" und "UpdateSourceTrigger=..." - Teile zu sein scheinen, optional, also ließ ich Sie aus.
Ich bin mit dieser checkbox in einer ListView-header-Spalte. Wenn jemand das Kontrollkästchen aktiviert oder deaktiviert, ich will, dass alle Elemente in der ListView auch an-oder abgewählt werden (aktivieren/deaktivieren Sie alle Funktionen). Ich habe den code im Beispiel (als "optionale Logik"), sondern Ihre checkbox-Wert-Logik (falls vorhanden) ersetzen Sie diese.
ListView-Inhalte werden durch Browsen nach einer Datei, und wenn eine neue Datei ausgewählt ist, code wird der ListView ItemsSource und die CheckBox aktiviert ist (Auswahl aller neuen ListView-Elemente), die ist, warum diese zwei-Wege-Betrieb erforderlich ist. Dieser Teil des Codes ist nicht vorhanden in diesem Beispiel.
Den code in der xaml-Code.cs-Datei, behandeln Sie die CheckBox wie folgt aussieht: