- Grid
Grid会以网格的形式对内容元素进行布局,其特点如下:
- 可以定义任意数量的行和列,非常灵活;
- 行的高度和列的宽度可以使用绝对数值、相对比例或自动调整的方式进行精确设定,并可设置最大值和最小值;
- 内部元素可以设置自己所在的行和列,还可以设置自己纵向跨几行、横向跨几列;
- 可以设置Children元素的对齐方向。
Grid使用场合有:
- UI布局的大框架设计;
- 大量UI元素需要成行或者成列对齐的情况;
- UI整体尺寸改变时,元素需要保持固有的高度和宽度比例;
- UI后期可能有较大变更或扩展。
定义Grid
Grid有ColumnDefinitions和RowDefinitions两个属性,来定义列和行,代码如下:
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> </Grid>
也可通过代码动态添加,代码如下:
this.MyGrid.RowDefinitions.Add(new RowDefinition()); this.MyGrid.ColumnDefinitions.Add(new ColumnDefinition());
- StackPanel
- DockPanel
- Canves
- WraperPanel
时间: 2024-11-03 18:07:11