WPF中的布局元素有以下五个元素
- Grid:网格布局。可以自定义行和列并通过行列的数量、行高和列宽来调整控件的布局。类似于HTML中的Table标签。
- StackPanel:栈式面板。可将包含的元素在竖直或水平方向上排成一条直线,当移除一个元素后,后面的元素会自动向前移动以填充空缺。
- Canvas:画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Windows Form编程的布局方式。
- DockPanel:泊靠式面板。内部元素可以选择泊靠方向,类似于Windows Form编程中设置控件的Dock属性。
- WrapPanel:自动折行面板。内部元素在排满一行后能够自动折行,类似于HTML中的流式布局。
下面我们就逐个研究一下他们的基本用法。
- 1Grid
Grid的特点如下:
* 可以定义任意的数量的行和列。
* 行的高度和列的宽度可以使用绝对数值(数字)、相对比(*5)例或自动调整(Auto)的方式进行精确设定,并可以设置最大和最小值。
* 内部元素可以设置自己所在的行和列,还可以设置自己纵向跨几行(Grid.RowSpan="跨行数"),横向跨几列(Grid.ColumnSpan="跨列数")。
示例:
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="8*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="8*"/>
</Grid.ColumnDefinitions>
<Grid>
上面定义两行两列,行只能设置高度,列只能设置宽度,第一行1份,第二行占8份,第一列占100的宽度,第列占8份,布局内容就在第一个Grid元素中编写。<