前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ObservableCollection 类

ObservableCollection 类

作者头像
张善友
发布2018-01-31 11:59:39
1.1K0
发布2018-01-31 11:59:39
举报
文章被收录于专栏:张善友的专栏张善友的专栏

Windows Presentation Foundation (WPF) 在 Microsoft .NET Framework 中添加了一些功能,您可以可靠地使绑定控件与其数据源保持一致。这个类就是ObservableCollection<T>。

利用 ObservableCollection 类,WPF /Silverlight 应用程序可以使绑定控件与基础数据源保持同步,但它还提供了更有用的信息,尤其是 ObservableCollection 类还可以在您添加、删除、移动、刷新或替换集合中的项目时引发 CollectionChanged 事件。此功能还可以在您的窗口以外的代码修改基础数据时做出反应。

通常我们采用WCF服务所使用的List<T>, 在Silverlight客户端生成的代理都会使用ObservableCollection 替代,没有用过Silverlight的同学可以到这篇文章《推荐一个Silverlight多文件(大文件)上传的开源项目》看到上传文件集合类FileCollection就是ObservableCollection的子类 。当我们在列表(比如ListBox)显示了一个CLR对象列表(比如List)时,如果想在修改List对象后,ListBox也动态的反映这种变 化。此时,我们应该使用动态的ObservableCollection对象绑定。而不是直接的更新ItemSource。两者的区别在于直接更新 ItemSource会使WPF抛弃ListBox已有的所有数据,然后全部重新从List加载。而使用ObservableCollection可以避免这种先全部删除再重载的过程,效率更高。所以你不应该感到奇怪,应该深入的学习一下ObservableCollection类,2008年12月的Msdn杂志正好有一篇非常详细的文章:http://msdn.microsoft.com/zh-cn/magazine/dd252944.aspx

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009-01-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档