数据可视化

所有软件的本质都是增删改查和数据可视化。

要解决的问题:数据可视化,UI显示数据,数据与UI一致,数据变化,对应的UI更新。举例来说,使用Label显示Person的Name,Label的Content与Person的Name一致,Person的Name发生变化,Label的Content也随之变化。最笨的方法是,每次修改Person的Name的时候,同时去修改Label的Content。那么问题就来了,有没有简单的办法,把Label的Content与Person的Name绑定起来,每次修改Person的Name,通过一种机制自动更新Label的Content,这既是要解决的问题。

如何解决问题:UI与数据绑定后,修改数据会自动更新UI,Windows 提供了两种策略来解决这个问题。

1、继承DependencyObject:数据对象继承DependencyObject,DependencyObject有DependencyProperty,使用CLR属性对依赖属性包装,通过“实例方式”向外暴露依赖属性,让包装依赖属性的CLR属性作为数据源的Path。

2、实现INotifyPropertyChanged接口:数据对象实现INotifyPropertyChanged接口,声明事件PropertyChangedEventHandler,PropertyChangedEventHandler会在View实例化与ViewModel绑定的时候初始化,调用PropertyChangedEventHandler的变量。

posted on 2012-10-20 10:22  Andy Niu  阅读(296)  评论(0编辑  收藏  举报