(原创,转载请注明出处 http://blog.youkuaiyun.com/zhaohuiy)
在WPF databinding 中,如果我们要将一个ItemsControl类型的UI 绑定到一个Collections数据结构的某一维上,那么至少有DisplayMemberPath 与 DataTemplate 两种方法可供使用,下面用一个例子说明这个技术:
比如对一只股票Stock, 采集其数据,可能会有 “时间、价、量”等三个维度,我们可能会定义出一个:
Class StackData
{
DateTime stockTime {get; set;}
Double stockPrice {get; set;}
Double stockVolume {get; set;}
...
}
经过一段时间采集,数据存储到了 List<StockData> myData 中。
然后在我们的某个UI界面上,需要列表显示这组采集的数据中的所有价格 price 的信息,那我们可以:
(I)
<Listbox x:Name ="lbStock" ItemsSource="{Binding Path=MyData}" DisplayMebmberPath="stockPrice".../>
这个 DisplayMebmberPath 就是将复合数据中的某一个维度抽出来绑定的机制。
(II)
当然,还有一种更普遍适用的方式,使用DataTemplate,比如说在同