Ich habe eine Liste von Foo-Objekten in meinem Ansichtsmodell. Jedes Foo-Objekt besitzt eine Eigenschaft, ShouldBeVisible, die in einer Logik basierend auf der Frage, ob dieses Element dem Benutzer angezeigt werden soll, den Wert "true" oder "false" zurückgegeben hat.Sichtbarkeitsbindung basierend auf einer Eigenschaft ändern
Ich habe einen IValueConverter erstellt, der an die ShouldBeVisible-Eigenschaft bindet, um Visibility.Visible und Collapse zurückzugeben.
Alles ist großartig und ich kann nur die Foo-Elemente zeigen, die in meinem StackPanel angezeigt werden sollten.
Ich möchte jetzt ein Kontrollkästchen zu meiner Seite mit der Bezeichnung "Alle anzeigen" hinzufügen, die an eine Eigenschaft in meinem ViewModel binden wird. Wenn es aktiviert ist, möchte ich alle Foo-Elemente anzeigen, egal was ShoulBeVisible sagt, und wenn es nicht aktiviert ist, ShoulBeVisible zu folgen.
Ich bin mir nicht sicher, wie man das richtig bindet, da der IValueConverter nur an ein Element gebunden werden kann.
Gibt es eine Möglichkeit, die Sichtbarkeitsbindung zur Laufzeit basierend zu aktualisieren, ob mein Kontrollkästchen aktiviert ist?
Auf der Änderung der 'ShowAll' gebunden Eigenschaft auf dem VireModel, kann man nicht durch die iterieren Liste von Objekten und markieren Sie alle als 'ShouldBeVisible' entsprechend? – Lindsay