我有一个嵌套在DockPanel中的DataGrid。 DockPanel充当数据上下文:检测ObservableCollection是否已被修改
DockPanel1.DataContext = GetData();
GetData()方法返回一个ObservableCollection。
ObservableCollection可以在DataGrid中修改,也可以在嵌套在DockPanel中的几个文本框中修改。我也使用DataView浏览集合。
我想检测集合是否已被修改,并在用户尝试关闭应用程序而不保存数据时发出警告。
是否有任何可以使用的内置机制(一种集合上或视图上的“IsDirty”标志)?如果没有,我想我将不得不监视所有的控件并手动检测任何更改。
感谢, 莱谢克
谢谢Clemens和Cerebrate。这是我将用于新项目的一个非常好的解决方案。 关于目前的项目,似乎没有返工就无法使用它。首先,我已经在光盘上序列化了一堆ObservableCollections。当我尝试将它们设置为deandlize并将其转换为DirtyCollection时,会抛出异常“Invalid cast”。 其次,我的DirtyCollection有一个成员 - 一个ObservableCollection,也需要是一个DirtyCollection。换句话说,我有一个集合的集合。 我只是希望有一个简单的现成的方法来做到这一点。 – Leszek