System.Collections.ObjectModel ObservableCollection<int> list = new ObservableCollection<int>(); list.CollectionChanged += List_CollectionChanged; list.Add(1); private void List_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { MessageBox.Show(“我是list 集合,我被修改了,现在的操作为” +e.Action.Tostring() ); } // e.Action 可以 为add, update ..... 如果是update还可以获得修改前的值和修改后的值(e.OldItem, e.NewItem)。
用ObservableCollection<T> 他有一个CollectionChanged事件,可以捕获集合改动
你变个方式就行了,增加枚举标识,例如:表示Normal,Edited, 在触发编辑的事件里 设置枚举为Edited,编辑结束且成功的时候将这个标识改为Normal。 退出的时候判断这个标识是否为Normal就表示没有正在编辑但没保存的的操作。
17,740
社区成员
24,334
社区内容
加载中
试试用AI创作助手写篇文章吧