WPF中ListView与GridView的关系






....................


首先,从字面上理解ListView与GridView应该是同一界别的控件,实际上远非这样!ListView是ListBox派生类,而GridView是ViewBase的派生类,ListView的View属性是一个ViewBase类型的对象,所以,GridView可以作为ListView的View来使用而不能作为独立的控件来使用。这里使用的理念是组合模式,即ListVIew“有一个”View,至于这个View是GridVIew还是其他什么类型的View则由程序员自行选择--------目前只有一个GridView可用,估计微软后续会有扩张。

其次,GridView的内容属性是Columns,这个属性是GridVIewColumnCollection类型对象,因为XAML支持内容属性的简写,所以省略了这层标签,直接在的内容部分定义了三个GricViewColumn对象。GridViewColumn对象最重要的属性是DisplayMemberBinding(类型为BindingBase),使用这个属性可以指定这一列使用什么样的Binding去关联数据--------与ListBox不同,ListBox使用的是DisplayMemberPath属性(类型为string)。如果想使用更为复杂的机构表示这一列的标题(Header)或数据,则可为GridViewColumn设置HeaderTemplate和CellTemplate属性,他们的类型都是DataTemplate。

你可能感兴趣的:(WPF)