ListView绑定ObservableCollection后,修改集合内容却不自动更新

fp2001 2013-08-22 03:58:08
我的ListView已经绑定了一个ObservableCollection数据源,可以正常的显示,
而且通过
ObservableCollection<Object> collect
collect.RemoveAt() or Add
删除某一项后,listview中的数据也可以自动更新删除或添加。
但是问题出现在我修改集合中的数据却不能使得listview自动更新,比如用以下的方法就不行:

collect[0].ID="1"

我通过调试发现collect集合中的内容已经改变了,但是没有反应到listview中

不过我发现如果用一下的方法就能更新listview中的内容:

collect[0] = new Person { ID= "0", Name = "张三" }

非常奇怪,为什么不能用下标直接赋值修改更新,而通过new一个却可以呢?

直接new的话我觉得太浪费了,大家有没有什么方法啊
...全文
1829 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2013-11-28
  • 打赏
  • 举报
回复
当然要继承INotifyPropertyChanged 了,在属性变化中调用PropertyChanged Event
tqtihihc 2013-11-28
  • 打赏
  • 举报
回复 1
如何绑定,把代码发一下吧,我不会绑定
lhx527099095 2013-08-22
  • 打赏
  • 举报
回复
INotifyPropertyChanged 就是这个喽~~~~ 楼主没搞明白绑定的一些实质 msdn上专门介绍了列表和普通clr对象的绑定 可以仔细阅读一下
周美文 2013-08-22
  • 打赏
  • 举报
回复
这是WPF把?
tcmakebest 2013-08-22
  • 打赏
  • 举报
回复
原来如此,居然学到了一招,感谢并恭喜楼主。
fp2001 2013-08-22
  • 打赏
  • 举报
回复 1
找到了问题了,发现要把ObservableCollection<Object> 中的Object类继承接口INotifyPropertyChanged 才行,这样就可以直接用集合加下标来自动更新listview了。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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