Grid——网格布局,是WPF中最强大的布局容器,可以实现任何其他容器的布局。
布局舍入:网格的边界有时会模糊,如三等分100宽度无法被整除。推荐设定<Grid UseLayoutRounding="True" >
Grid的网格可以当作Excel中的单元格,大小可以有多种设定方式。
1、按内容自动设定宽度
<Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition /> </Grid.ColumnDefinitions>
2、按比例设置单元格宽度
列的宽度比=1:2:3
<Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="2*"/> <ColumnDefinition Width="3*"/> </Grid.ColumnDefinitions>
【GridSplitter】网格布局中使用,单独占一列(行),水平居中对齐,竖直拉伸
<Grid UseLayoutRounding="True" > <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <!--设置左、右列的最小宽度,防止中间列的分离器拉动太夸张--> <ColumnDefinition MinWidth="50"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition MinWidth="50"/> </Grid.ColumnDefinitions> <Button Content="宽度自适应" Grid.Column="0" Grid.Row="0"/> <!--网格布局中使用,单独占一列(行),水平居中对齐,竖直拉伸--> <GridSplitter Grid.Column="1" Grid.RowSpan="3" HorizontalAlignment="Center" VerticalAlignment="Stretch" Width="5"/> <Button Content="button3" Grid.Column="2" Grid.Row="0"/> </Grid>