我已经阅读了该站点上有关处理数据网格更改的大量帖子。普遍的共识似乎是数据网格项目应该实现 INotifyPropertyChanged,然后在 OnPropertyChanged() 中执行任何必要的操作。但是,当考虑到视图模型和模型时,我不太清楚推荐的做法是什么。
假设我的模型有许多字段和多个不同类型的项目列表。项目列表作为 ItemSource 绑定到相应视图中的数据网格。在我的视图模型(或模型)中,我希望有一个标志(例如“IsDirty”),它告诉我字段和/或列表项中是否有任何更改。
处理对字段所做的更改很简单,因为它们对应的 OnPropertyChanged() 将在视图模型中被调用。但是,数据网格项目的 OnPropertyChanged() 将在项目本身中被调用。
如何让父视图模型(或模型)知道对其中一个数据网格中的一项进行了更改?显然,我可以为每个项目提供对其父视图模型(或模型)的引用,但我想知道是否有更好和推荐的做法。
谢谢。