2010-03-08 4 views
1

J'ai lié le ObservableCollection à la source d'éléments dataGrid.ObservableCollection DataGrid

L'objet collectionChangedEvent de la collection observable est appelé uniquement lorsque nous l'ajoutons, le supprimons ou le supprimons. Mais ne pas tirer lorsque nous mettons à jour le dossier.

comment déclencher l'événement pour la mise à jour aussi?

Répondre

5

Si vous souhaitez être averti lorsqu'un élément est modifié (vous souhaitez vous abonner à cet événement), vous n'avez pas de chance avec ObservableCollection<T> car cette collection ne déclenche que le CollectionChangedEvent.
En effet, si vous implémentez INotifyPropertyChanged, vous verrez des changements dans les éléments de la vue (WPF le fait automatiquement), mais si vous devez exécuter des actions manuelles lorsqu'un élément change, vous pouvez utiliser BindingList<T>.

Pour exactement ce scénario, j'ai déployé un BindableCollection<T> personnalisé, qui implémente ObservableCollection<T> et ajoute le OnItemChangedEvent. Je peux fournir un exemple de code si nécessaire ...

+0

pouvez-vous fournir quelques exemples de code? – Kiddo

3

La collection ne sait pas quand l'enregistrement est modifié. Pour obtenir une notification lorsque cela se produit, l'enregistrement doit être mis en œuvre INotifyPropertyChanged

Questions connexes