WPF控件--ItemsControl

1.ItemsControl是控件吗

ItemsControl可以在Panel中直接使用

<StackPanel>
    <ItemsControl Name="items">
    </ItemsControl>
</StackPanel>

直接设置ItemsSource也是可以显示的:

items.ItemsSource = new List<string> {"A","B","C" };

说明ItemsControl和普通的控件是相同的。

2.ItemsControl的控件的特性

ItemsControl是一个可以包含多个项目的控件,可以通过设定ItemsSource或者Items来指定ItemsControl的内容

ItemsSource:

ItemsSource可以是任何实现了IEnumerable的类型,比如说ArrayList,HashTable,Queue,List等等

Items:

可以使用Items.Add方法来手动添加ItemsControl子项,可支持各种类型,如:

items.Items.Add(DateTime.Now);
items.Items.Add("String");

Ellipse ellipse = new Ellipse();
ellipse.Width = 40;
ellipse.Height = 40;
ellipse.Fill = Brushes.Blue;

items.Items.Add(ellipse);

显示的结果如下图:

image

关于ItemsSource和Items的关系:

设定了ItemsSource之后,Items属性将是只读的,且具有固定的大小

如果想恢复使用Items可以将ItemsSource设置为null,此时Items将是一个空的ItemCollection

3.哪些控件继承了ItemsControl

ClassDiagram1

如上图包含了以下控件:

Selector:Combox,ListBox,TabControl,MultiSelector

HeaderdItemsControl:MenuItem,ToolBar,TreeViewItem

MenuBase:ContextMenu,Menu

TreeView

StatusBar

DataGridCellsPresenter

DataGridColumnHeaderPresenter

 

Celery 标签:
posted @ 2010-10-25 15:08  Celery  阅读(16178)  评论(4编辑  收藏  举报