基于 dynamic 和匿名类 对WPF实现简单的绑定
这算是小菜第一篇有关技术的博客,这篇博客不是说WPF binding,只是本小菜的一个想法 ,好了 直接正文吧
对于一般的WPF绑定,需要有一个Class来描述对象的基本属性,如下
public class SimpleModel
{
public string Version
{
get;
set;
}
public SimpleModel(string version)
{
this.Version = version;
}
}
然后绑定代码如下:
var list = new List<SimpleModel>();
for (int i = 0; i < 1000000; i++)
{
list.Add(new SimpleModel(string.Format("Version:{0}", i)));
}
this.VersionListView.ItemsSource = list;
这个类是如此简单,在做绑定时,突然觉得也许这个类我可能只会用这一次,既然不能一定能复用,那么就增加了不必要的代码量
所以就有了下面的版本:
var list = new List<dynamic>();
for (int i = 0; i < 1000000; i++)
{
list.Add(new
{
Version = string.Format("Version:{0}", i)
});
}
this.VersionListView.ItemsSource = list;
使用4.0的dynamic,运行是类型 和 匿名类 实现的bingding,小菜觉得算是一个新的想法吧,不能支持属性通知,不过这里也不需要通知,唯一的优点就是控制了代码量,减少不必要的数据模型.
完毕,望轻喷.
浙公网安备 33010602011771号