2KB项目,专业的源码交易网站 帮助 收藏 每日签到

在 MVVM 中使用 ObservableCollection

  • 时间:2019-01-23 18:39 编辑:2KB 来源:2KB.COM 阅读:352
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:Usi
英文原文:Using ObservableCollection in MVVM

简介

MVVM是基于XAML应用的一种设计模式。它保证了依赖的分离,测试能力以及可维护性。视图模型包含有绑定到此视图的所有属性。几乎所有你希望绑定到视图的元素,都必须要在视图模型中增加一个属性来控制它,即使你想插入的是一个加载轮。这么强大的功能,要感谢这种绑定机制,特别是对INotifyPropertyChanged接口的通知功能的应用。

问题

可是,这种模式的缺点是,属性的数量会很大,特别是在你有一个富视图的时候。这会使你的视图模型看起来非常长。再考虑到对每一个属性,几乎都需要下面6行代码:

 private string _name;
 public String Name
 {
     get { return _name; }
     set { Set(ref _name = value); }
 } 

假设在每一个视图模型中你只有10个属性。那么,你将有60行的属性代码!

解决方案

第一种解决方案是使用Frody扩展来给属性做修饰。这将允许你不使用老式的字段或者Set(..)方法来声明绑定的属性。每个属性你仅仅只需2行代码:

[PropertyChanged]
public String Name { get; set; }  

让我们使之更好,将20行缩减到1行。那可能吗!可能!我们需要的是有这样一种对象,它可以包含许多不同类型的对象,而且每个对象是可声明的。幸运的是,ObservableCollection<object>可以做到。考虑使用" = "操作符而不是Add(..)方法,因为Add不允许声明。为了实现其中的细节,Windows Store 8.1模版(Hub app 和 GridView app)带来了一个名为ObservableDictionary的对象。这其中还有一个好处是,它使用了字符型关键字来标示一个数值,而不是用的数字型的。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部