WPF之Grid控件

Grid控件使用
Grid控件作为WPF中最为重要的布容器。合理运用能够完成很多功能,面结合案例来详细解释一下。

1. 调整行和列

<Grid.RowDefinitions > 
            <RowDefinition>
            RowDefinition>
            <RowDefinition>RowDefinition>
            <RowDefinition>RowDefinition>
        Grid.RowDefinitions>    
        <Grid.ColumnDefinitions>
            <ColumnDefinition>ColumnDefinition>
            <ColumnDefinition>ColumnDefinition>
            <ColumnDefinition >ColumnDefinition>
            <ColumnDefinition >ColumnDefinition>
        Grid.ColumnDefinitions>

如上所示,Grid的行列分割是有RowDefinitions和ColumnDefinitions两个标签控制,在两个标签之中又分别由RowDefinition和ColumnDefinition表示一格

2. 布局舍入

这里首先说明一下Grid的 宽度和高度设置的三种方法:
1,指定数值 如: Width = “50”
2,等比例设置: Width = “”Width = “2”Width = “4*”
这样的话,三个单元则以1:2:4 比例设置大小
3,自适应: Width = “Auto” 单元格适应内部控件大小

那么假如窗口大小是600,则最小单元格大小是600/7 不是一个整数,那么由于WPF的混合锯齿是的最小单元格的界面显示模糊,为了解决这种情况,则需要设置Grid 的UseLayoutRounding 属性

3. 跨越行和列

ColumnSpan = “i” 跨越i列
RowSpan = “j”  跨越j行

4. 分割窗口
GridSplitter 控件就是用来分割Grid控件的,必须放在Grid里面

Grid.Column="1" VerticalAlignment="Stretch" Grid.RowSpan="3" HorizontalAlignment ="Center" Width="5"/>

Cloumn Row 用来指定位置,VerticalAlignment 和HorizontalAlignment  则分别用来指定竖直和水平方向。
须设置,如果设置水平方向分割,则 VerticalAlignment 为Center,如果竖直方向分割则HorizontalAlignment 为Center
5. 共享尺寸组
假设现在有两个Grid:Grid1和Grid2,现在希望这两个Grid尺寸相同,则需要同时指定SharedSizeGroup属性一
致。切记,SharedSizeGroup属性值一定要相同。

<Grid Name = "test1" SharedSizeGroup = "KeepSame"/>
<Grid  Name = "test2" SharedSizeGroup = "KeepSame"/>

下面是完整代码:

<Window x:Class="Day6.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid ShowGridLines="false" UseLayoutRounding="True">    
        <Grid.RowDefinitions > 
            <RowDefinition>
            RowDefinition>
            <RowDefinition>RowDefinition>
            <RowDefinition>RowDefinition>
        Grid.RowDefinitions>    
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" MinWidth="50">ColumnDefinition>
            <ColumnDefinition Width="Auto">ColumnDefinition>
            <ColumnDefinition Width="2*" MinWidth="50">ColumnDefinition>
            <ColumnDefinition Width="4*">ColumnDefinition>
        Grid.ColumnDefinitions>

        <Button Content = "Left" Grid.Row="0" Grid.Column="0" Grid.RowSpan="3">Button>
        <Button Content = "Right Top" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="1">Button>
        <Button Content = "Right Center" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2">Button>
        <Button Content = "Right Button" Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="1">Button>
        <GridSplitter Grid.Column="1" VerticalAlignment="Stretch" Grid.RowSpan="3" HorizontalAlignment ="Center" Width="5"/>

    Grid>
Window>

结果如下:

WPF之Grid控件_第1张图片

你可能感兴趣的:(WPF学习笔记)