私は 'myCollection' ObservableCollectionをDataGridのItemsSourceにバインドしました。 Rowの追加または削除中にCollection Changeイベントが発生しました。しかし、私は既存の行の値の変化を追跡できませんでした。 ObservableCollection内のアイテムのプロパティが変更されたときに、どのように通知を受け取ることができますか?ObservableCollectionin WPF(MVVM)で編集された値を取得する方法
0
A
答えて
0
NewItems
とOldItems
のNotifyCollectionChangedEventArgs
のプロパティを使用できます。あなたがObservableCollection.Remove()を呼び出すと
、削除項目がOldItemsプロパティに存在します:
void myCollection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.OldItems != null)
{
foreach (var removedItem in e.OldItems)
{
}
}
}
唯一の問題は、あなたがObservableCollection.Clear()
メソッドを呼び出すときに、OldItemsプロパティがnullであること、です。
クリアされたアイテムにもアクセスする場合は、ObservableCollectionを継承してカスタムクラスを作成し、RemoveItemで保護されたメソッドをオーバーライドする必要があります。あなたはObservableCollection.Clear(呼び出すときRemoveItemメソッドも呼び出される)あなたはこの回答から、私のExtendedObservableCollectionを使用することができます:あなたは直接て、CollectionChangedイベントを経由して、アイテムの変更を追跡することはできませんTrigger InotifyPropertyChanged/CollectionChanged on ObservableCollection
0
。 できることは次のとおりです。 ObservableCollection内の各項目のCollectionChanged
EventHandlerのPricingGrpModel.PropertyChanged
にEventHandlerを追加および削除します。
関連する問題
- 1. MVVM/MVVM-Lightでレコードを編集する
- 2. jqueryで編集テキストの値を取得する方法
- 3. WPF MVVMモデルデータの取得方法
- 4. DataTable - InCell EditingマネージドBeanで編集したオブジェクトの値を取得する方法
- 5. WPFとMVVMを使用してF#レコードを編集する
- 6. [(ngModel)]で表示される値を編集する方法は?
- 7. リストビュー内で編集可能な編集テキストを取得する方法
- 8. Drag&Drop中にMousePositionを取得する方法は? (WPF-MVVM)
- 9. カスタマイズされたSharePoint 2007編集フォームで「作成者」という値を取得する方法
- 10. jqueryインライン編集で更新された値を取得しますか?
- 11. WPFの数値編集フィールド?
- 12. 取得方法グリッドビューから配列androidにテキスト値を編集
- 13. 角度コントローラで編集可能なテキストの値を取得する方法を
- 14. ツリーノードが編集によって変更された後に元の値を取得する方法
- 15. スケジュールされたタスクトリガーの編集方法
- 16. jqueryでユーザーが編集可能なテーブル値を取得する方法
- 17. Gridviewで編集可能なフィールドの値を取得する方法
- 18. JavaScriptで編集エリアを取得する方法
- 19. MVVMで最後に生成されたコードを取得する方法
- 20. Laravel - select2で編集モードで選択したタグを取得する方法
- 21. モーダル角度ブートストラップで編集した値を取得
- 22. WPF編集可能なDataGrid for MS AccessとMVVM
- 23. WPF:動的列でDataGridバインディングを編集する方法
- 24. Recyclerviewの値の取得テキストの編集
- 25. グリッドビューの編集中に新しい値を取得する方法は?
- 26. アンドロイドの編集テキストから値を連続的に取得する方法
- 27. MVVM複数編集ウィンドウ
- 28. (Rails)編集URLから「id」を取得する方法
- 29. WINAPI:編集のテキストをstd :: stringに取得する方法は?
- 30. スウィフトUITableスクロールで編集した値を保持する方法
'PricingGrpModel'に' INotifyPropertyChanged'を実装します。 https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(v=vs.110).aspx –
ObservableCollectionはアイテムの特定の変更を認識していないため、ObservableCollectionから通知されますちょうどそれ自体の変化について新しいアイテムまたは削除されたアイテム。そのため、Chris Wohlert氏は、個々のオブジェクトの変更を処理できるように、PricingGrpModelにINotifyPropertyChangedを実装する必要があるとコメントしました。 –
"PricingGrpModel"クラスはエンティティクラスであり、EFから生成されることを意味しています。どうすれば 'INotifyPropertyChanged'を実装できますか? – Dinesh