1

ObservableCollection を dataGrid の itemssource にバインドしました。

監視可能な Collection の collectionChangedEvent は、追加、削除、削除するときにのみ呼び出されます。しかし、レコードを更新しても起動しません。

Updateのイベントも発生させる方法は?

4

2 に答える 2

5

アイテムが変更されたときに通知を受け取りたい場合(つまり、このイベントをサブスクライブしたい場合)、ObservableCollection<T>このコレクションはを起動するだけなので、運が悪いCollectionChangedEventです。
実際、を実装INotifyPropertyChangedすると、ビュー内のアイテムに変更が表示されます(WPFはこれを自動的に実行します)が、アイテムが変更されたときに手動アクションを実行する必要がある場合は、を使用できますBindingList<T>

まさにこのシナリオのために、私はカスタムを展開しました。BindableCollection<T>これは、を実装ObservableCollection<T>して追加しOnItemChangedEventます。必要に応じてサンプルコードを提供できます...

于 2010-03-09T14:59:57.157 に答える
3

コレクションは、レコードがいつ変更されたかを知りません。これが発生したときに通知を受け取るには、レコードを実装する必要がありますINotifyPropertyChanged

于 2010-03-08T17:46:51.387 に答える