基于 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,小菜觉得算是一个新的想法吧,不能支持属性通知,不过这里也不需要通知,唯一的优点就是控制了代码量,减少不必要的数据模型.

完毕,望轻喷.

posted @ 2013-01-08 12:14  gaochuan.joey  阅读(549)  评论(0)    收藏  举报