wpf Grid布局

2021-03-19 23:23

阅读:516

标签:垂直   意思   center   prope   view   方式   设置   show   水平分割   

Grid的意思是网格,使用网格布局时候需要先确定行数列数

Grid.ColumnDefinitions 表示Grid的列
指定列时候需要指定列的宽度(width)
Grid.RowDefinitions 表示Grid的行
指定行的时候需要指定行的高度(Height)

指定行高度或者列宽度时候可以使用三种方式

  1. 使用绝对值方式,如 高度100或者宽度200
  2. 使用auto自动指定,每个控件都有一个默认的高度或者宽度
  3. 使用*号按比例设置,如 一个列宽度为 3* 一个列宽度为7* 则表示 第一个列占窗口的百分之三十宽度,第二个列占窗口的百分之七十宽度

指定完列和行后在 Grid.RowDefinitions 的同级目录下写控件,并为控件指定其在第几行的第几列

Grid.Column="0" 指定在第1列 列和行都是从0开始为下标
Grid.Row="0" 在第1行
Grid.ColumnSpan="2" 跨列 跨两个列如果要跨行使用Grid.RowSpan="2" 不管跨行还是跨列,默认值都是0

分割窗口使用 GridSplitter 标签,在使用GridSplitter之前需要明确要使用垂直还是水平的分割,如果使用垂直分割则

VerticalAlignment="Stretch" HorizontalAlignment="Center"

如果使用水平分割则

VerticalAlignment="Center" HorizontalAlignment="Stretch"

分割窗口一般占用单独的一行或者一列,在指定列的时候需要指定水平分割一般只需要设置GridSplitter标签的高度就可以了,垂直分割则只需要设置标签的宽度

Grid Background="LightBlue">
    Grid.ColumnDefinitions>
        ColumnDefinition Width="*">ColumnDefinition>
    Grid.ColumnDefinitions>
    Grid.RowDefinitions>
        RowDefinition Height="Auto">RowDefinition>
        RowDefinition Height="2">RowDefinition>
        RowDefinition Height="40">RowDefinition>
    Grid.RowDefinitions>

    Grid Background="Aquamarine" Margin="5" Grid.Row="0" Grid.Column="0">
        Grid.ColumnDefinitions>
            ColumnDefinition Width="7*">ColumnDefinition>
            ColumnDefinition Width="3*">ColumnDefinition>
        Grid.ColumnDefinitions>
        Grid.RowDefinitions>
            RowDefinition Height="3*">RowDefinition>
            RowDefinition Height="3*">RowDefinition>
            RowDefinition Height="3*">RowDefinition>
        Grid.RowDefinitions>
        TextBox x:Name="txt1" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Margin="5">TextBox>
        TextBox x:Name="txt2" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Margin="5">TextBox>
        TextBox x:Name="txt3" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="1" Margin="5">TextBox>
        TextBox x:Name="txt4" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="1" Margin="5">TextBox>
    Grid>
    Button x:Name="btn1" Grid.Column="0" Grid.Row="2" Margin="5">
        Image Source="Properties/t.jpg" Width="23" Height="23">Image>
    Button>
    GridSplitter Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Height="2" HorizontalAlignment="Stretch" ShowsPreview="False">GridSplitter>
Grid>

 

wpf Grid布局

标签:垂直   意思   center   prope   view   方式   设置   show   水平分割   

原文地址:https://www.cnblogs.com/sunhouzi/p/12316243.html


评论


亲,登录后才可以留言!