我有一個嵌套在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