Items 控件

Items控件包含了一个拥有许多Item的集合。

所有的Items控件都是继承自ItemsControl抽象类的,它们是Control类的直系子类(类比ContentControl)

ItemsControl把它的内容保存在一个Items属性(ItemCollection类型中)。每个Item可以是任意类型的对象,它会以在内容控件中一样的方式被渲染。

 <ListBox>
      <Button>Button</Button>
      <CheckBox Content="CheckBox" />
      <TextBlock Text="TextBlock" />
    </ListBox>
Items是一个内容属性,所以子元素将被隐式地添加到Items集合中。Items属性是只读的,这意味着可以添加对象到空的集合或删除对象,但是不能把Items指向一个完全不懂的集合。
ItemsControl有一个ItemsSource属性,通过它可以把一个任意类型的集合赋给Items集合。

Items还拥有DisplayMemberPath属性,它是一个字符串属性,可以把它设置为每一个项上(或者更复杂的表达式)的一个属性的名字,这样会改变一个对象被渲染的方式。
 <ListBox DisplayMemberPath="DayOfWeek">
      <Button>Button</Button>
      <CheckBox Content="CheckBox" />
      <TextBlock Text="TextBlock" />
      <sys:DateTime>1/1/2013</sys:DateTime>
      <sys:DateTime>2/2/2013</sys:DateTime>
      <sys:DateTime>3/3/2013</sys:DateTime>
    </ListBox>
把DisplayMemberPath设置为DayOfWeek后,WPF会渲染每一个项的DayOfWeek属性值,而不是每个Item本身。
posted @ 2013-01-02 17:12  一梦三只鸭  阅读(541)  评论(0编辑  收藏  举报