Heim >Backend-Entwicklung >C++ >Warum ändert sich meine Beobachtungsvorschriften nicht, wenn sich Elementeigenschaften ändert?
Bei Verwendung
in der MVVM -Anwendung muss die Änderung der einzelnen festgelegten Elemente ausgelöst werden. Benutzer können jedoch auf den Fehler dieser Benachrichtigungen stoßen, was dazu führt, dass Datenbindungskontrollen ohne Antwort reagieren. In diesem Artikel wird die Hauptursache für dieses Problem erörtert und eine umfassende Lösung enthält.
ObservableCollection
detailliertes Problem
Das Problem erschien im Sammelelement selbst, um zu erreichen, aber
beobachtete diese Veränderungen nicht. Daher verursachen die Attribute der geänderten Elemente keine Änderungen auf der festgelegten Ebene, und die Datenbindung kann diese Modifikationen nicht wahrnehmen.
INotifyPropertyChanged
Lösung: benutzerdefinierte Beobachtung
ObservableCollection
Um diese Grenze zu lösen, führt dieser Artikel benutzerdefinierte
Einschränkungen implementieren. Es ist wichtig, dass das Programm Ereignisverarbeitung so umschreibt, sodass das Programm zur Verarbeitung von Attributänderungen an das neue Element angehängt ist und vom alten Element getrennt ist, um sicherzustellen, dass alle Attributänderungen die Benachrichtigung über die Sammlungsebene auslösen.
TrulyObservableCollection
ObservableCollection
Klassenbehandlung Die folgenden Operationen: INotifyPropertyChanged
CollectionChanged
Wenn das Element zur Sammlung hinzugefügt wird, abonniert es das Ereignis , um die Änderung von Attributen zu erkennen.
bewegliches Element: Wenn das Element entfernt wird, wird der für den Artikel abonnierte Vorfall abgesagt. TrulyObservableCollection
PropertyChanged
wie man PropertyChanged
. Wenn die Attribute in der festgelegten Änderung geändert werden, wird Ihre Bindung automatisch aktualisiert. NotifyCollectionChangedEventArgs
Bei Verwendung des Elements von löst Das obige ist der detaillierte Inhalt vonWarum ändert sich meine Beobachtungsvorschriften nicht, wenn sich Elementeigenschaften ändert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!