WPF中的六大控件类型
1.布局控件:可以容纳多个控件或者其它布局控件,例如Grid,StackPanel,DockPanel,父类:Panel。
2.内容控件:只能容纳一个其它控件或者布局控件作为它的内容。Window,Button等控件属于此类。父类:ContentControl.
3.带标题内容控件:相当于一个内容控件,但可以加一个标题,标题部分也可以容纳一个控件或者一个布局控件。GroupBox,TabItem.父类:HeaderedContentControl.
4.条目控件:可以显示一列数据,它们的类型一般情况下相同。ListBox,ComboBox。父类:ItemsControl
5.带标题条目控件:相当于一个条目控件加上一个标题显示区。TreeViewItem,MenuItem都属于此类控件。父类:HeaderedItemsControl.
6.特殊内容控件:比如TextBox容纳的是字符串,TextBlock可以容纳可自由控制格式的文本Image容纳图片类型数据
UI布局
1.Grid:网格。可以自定义和列并通过行列的数量,行高和列宽来调整控件的布局,类似于HTML中的Table.适合的场景有:
UI布局的大框架的设计,大量UI元素需要成行或者成列对齐的情况,UI整体尺寸发生变化时,元素需要保持固有的宽高比例。
2.StackPanel:栈式面板。可将包含的元素在竖直或水平方向上排成一条直线。当移除第一个元素的时候,后面的元素会自动向前移动以填充空缺。实用的场景有:
同类元素需要紧凑排列(如制作菜单或列表),移除其中的元素后能自动补缺的布局或者动画。
3.Canvas:画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于WindowsFrom编程的布局方式。适用的场景有:
一经设计就不会改动的小型布局(如图标),艺术性比较强的布局,需要大量使用横纵坐标进行绝对定位的布局,依赖于横纵坐标的动画。
4.DockPanel:泊靠式面板。内部元素可以选择泊靠的方向,类似于在Windows From中的设置控件的Dock属性。
5.WrapPanel:自动折行面板。内部元素在排满一行后能够自动折行,类似于HTML中的流式布局。