wpf中依赖属性为ObservableCollection时,如何检测ObservableCollection集合的变化?在线等

alextienpai 2013-09-04 07:12:18
如题,比方说DependencyProperty CollectionProperty,它的类型是ObservableCollection<T>,
在注册的时候可以监听PropertyChanged,但是如何监听这个集合对象的变化?设置UpdateSourceTrigger为PropertyChanged,也不会相应啊,PropertyChangedCallback和CoerceValueCallback都没有相应,请问有什么好点的解决办法么?谢谢了!
...全文
1102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ronaldo9999 2013-11-24
  • 打赏
  • 举报
回复
INotifyCollectionChange 接口
qunser 2013-09-29
  • 打赏
  • 举报
回复
我遇到跟你一样的问题,我的问题还稍微复杂一点,已经解决了,你可以参照一下 http://bbs.csdn.net/topics/390601894
zailushang_ 2013-09-28
  • 打赏
  • 举报
回复
如果是使用集合ObservableCollection的话,数据是自动更新的;如果使用List集合,可以使用事件通知 public event PropertyChangedEventHandler PropertyChanged; public List<T> GestureKey { get { return m_gestureKey; } set { if (value != m_gestureKey) { m_gestureKey = value; if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs("GestureKey")); } } }
qunser 2013-09-27
  • 打赏
  • 举报
回复 2
我们两个问题差不多,我是想在List<T>内成员的值变化时,触发一个事件,不知道怎么实现?卡了我好几天了
zzhgb 2013-09-26
  • 打赏
  • 举报
回复
添加事件函数,不是对象
lhx527099095 2013-09-04
  • 打赏
  • 举报
回复
引用 2 楼 alextienpai 的回复:
[quote=引用 1 楼 lhx527099095 的回复:] ObservableCollection<ObjForTest> ls = new ObservableCollection<ObjForTest>(); ls.CollectionChanged+=new System.Collections.Specialized.NotifyCollectionChangedEventHandler(ls_CollectionChanged);
但是还要传递控件对象,那不是要重写observablecollection和notifycollectionchangedEventhandler?[/quote] 不知道你要表达什么。。。。 你要干嘛? 如果你要达到集合里面的对象里面的属性变化显示在ui 那么你需要让你的对象实现INotifyPropertyChanged接口 这个是绑定的基本概念 仔细阅读下msdn的绑定章节
alextienpai 2013-09-04
  • 打赏
  • 举报
回复
引用 1 楼 lhx527099095 的回复:
ObservableCollection<ObjForTest> ls = new ObservableCollection<ObjForTest>(); ls.CollectionChanged+=new System.Collections.Specialized.NotifyCollectionChangedEventHandler(ls_CollectionChanged);
但是还要传递控件对象,那不是要重写observablecollection和notifycollectionchangedEventhandler?
lhx527099095 2013-09-04
  • 打赏
  • 举报
回复
ObservableCollection<ObjForTest> ls = new ObservableCollection<ObjForTest>(); ls.CollectionChanged+=new System.Collections.Specialized.NotifyCollectionChangedEventHandler(ls_CollectionChanged);

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧