Je comprends que des ajouts,
Suppression (+ clair) et remplacement
d'articles sont notifiables aux consommateurs
Grâce à la collection j'ai lu des autres que vous ne pouvez pas
Inscrivez-vous sur l'événement de la collection
alors quel est son but, quelle utilisation pouvons-nous faire de celui-ci forte>? P>
Les commentaires ici et il semble que la discussion soit confondue en impliquant que la magie de En réalité, il semble que la seule supériorité de la collection est d'implémenter Observablecollection code> implémente à la fois
inotifidCollectionChanged code> et
inotifypropertychanged code>. p>.
CollectionChanged code>, et cette mise à jour
dans les articles existants peut être
Surveillé à l'aide de l'événement Strong> Articles Strong> '
Propertychanged code> s'ils implémentent
eux-mêmes
inotifypropertychandesd code>. p> li>
Propertychanged code> parce qu'il est
Readonly. P> li>
ul>
Observablecollection code> est de mettre en oeuvre les deux interfaces, ce qui permet d'être notifié à la fois pour la collecte et les éléments changements de contenu, tandis que ce n'est pas Correct (ceci est ignoré par de nombreux exemples dans lesquels la collection est liée à une liste de liste qui met à jour par magie une fois que les éléments sont modifiés, vous suggérez la collection notifie la liste de liste). P>
inotifidcollectionchangned code>. Traiter avec les articles Les modifications de propriété ne semble pas plus facile avec
observableCollection code> qu'avec une autre collection: il est possible uniquement si les éléments implémentent
inotifypropertychanged code>, ce qu'ils peuvent ne pas faire, et si le Utilisateur parvient à accrocher à cet événement indépendamment de la collection. P>
3 Réponses :
Juste une supposition: Donc, on peut être informé des modifications apportées à la propriété de comptage de la collection? P>
Le mécanisme de liaison WPFS peut utiliser INOTIFYPROPERTYCHANGED (INPC) hors de la boîte. p>
INPC Comme son nom l'indique permet à WPF de détecter les modifications apportées aux propriétés des objets pouvant ou non faire partie d'une collection. P>
Observablecollection (OC) implémente InotiferCollectionChanged (InCC) où vous dites que la collection elle-même notifie WPF (et quiconque équipé pour gérer les mises à jour) des mises à jour de sa collection d'éléments (suppressions supplémentaires). Si l'OC contient des objets qui ne mettent pas eux-mêmes mis en œuvre INPC, le WPF n'a aucun moyen de savoir comment chaque propriétés d'éléments a changé. p>
En répondant à la question suivante "Pouvons-nous compter sur l'événement de la collection d'APC au lieu d'enregistrer sur chaque nouvel article pour être notifié?" La réponse est non. Si chaque élément ne met pas en œuvre l'INPC sur ses propriétés, le WPF n'a aucun moyen de savoir quelles valeurs ont changé sur une base par article. P>
WPF connaîtra toujours du CO lorsque les articles ont été ajoutés ou supprimés en partie. Les articles La propriété utilise l'INPC pour notifier les mises à jour, telles que n'importe quelle classe implémentant INPC sur ses propriétés. IncC est implémenté pour suivre les modifications de collecte non pas de valeurs sur chaque élément dans les éléments. p>
Si vous regardez le code source INotifyPropertyChanged inpc = myObservableCollection;
inpc.PropertyChanged += myEventHandler;
Bien que fait précis et succincte, je ne suis pas sûr de savoir comment cela répond au "alors quel est le but?" partie du q
Le but est de notifier aux abonnés que la collection a changé. Dans cet aspect, il sert le même objectif que l'événement de collectionChanged, mais inotifypropertychanged est plus largement supporté que l'inotifyCollectionChanged