Ich habe eine ListView
mit ObservableCollection
als ItemsSource
. Wie stelle ich sicher, dass die Listenansicht auf Änderungen in einzelnen Sammlungselementen reagiert?Notify ListView einer Änderung in einem Artikel
Grundsätzlich möchte ich eine Listenansicht mit wechselnden Hintergründen für Elemente. Wenn ein Element in der Mitte der Liste eingefügt wird, muss der Hintergrund für alles danach umgedreht werden. Der einzige Weg, den ich gefunden habe, war durch ersetzt jedes betroffene Element in der Sammlung, die auf iOS in hässliche visuelle Effekte übersetzt. Ich möchte nur den Hintergrund neu zeichnen.
Einfach binden die Hintergrund-Eigenschaft funktioniert nicht: Es gibt keine Benachrichtigung über die Änderung der Eigenschaft.
Vielleicht gibt es eine Möglichkeit, eine benutzerdefinierte Benachrichtigung an alle/einige sichtbare Zeilen im ListView
zu senden?
Um zu verdeutlichen - mit 'MyClass' meinen Sie die Klasse des Elements in der' ObservableCollection' (d. H. 'ItemsSource = ObservableCollection')? Auch - was sollte die Implementierung von 'INotifiyPropertyChanged' tun? –
user1334767
Ja, welche Klasse in der ObservableCollection enthalten ist. INotifyPropertyChanged ist in dem verknüpften Artikel und in 1000 anderen Stellen in SO und im gesamten Web dokumentiert, daher werde ich hier keine weitere ausführliche Erläuterung geben. Grundsätzlich wird ein PropertyChanged-Ereignis ausgelöst, wenn eine Eigenschaft in Ihrer Klasse aktualisiert wird. – Jason
Danke - hat wunderbar funktioniert! – user1334767