WPF学习笔记——6)Grid面板

上一次我们介绍到了WrapPanel和DockPanel,而在WPF中,功能最强大的是GridPanel面板容器。

Grid面板是将元素分割到网格中,往往可以完成其他布局做不到的效果,在设置Grid网格时,需要给出创建网格的行和列,然后再放置控件元素时指定需要放置的行列号,下面我们主要根据六个方面介绍Grid面板

1、创建Grid面板与简单使用

首先我们新建一个WPF程序,在默认的Grid布局下使用属性元素的方法定义Grid的行和列,并且分别加入对应的行数和列数


    
         
         
    
    
        
        
        
    

然后我们加入一些组件,将这些组件放置在指定行和指定列上 

效果可见下图:

WPF学习笔记——6)Grid面板_第1张图片

 

2、调整行和列

有时候我们需要调整Grid面板中行和列的大小,一般有三种方法:

1)直接设置行列的固定大小

在需要改变大小的行或者列,设置属性特性Width或者Height,我们以设置第一行第一列均为50像素为例:

    
        
             
             
        
        
            
            
            
        
        

WPF学习笔记——6)Grid面板_第2张图片

2)自动设置尺寸大小

根据其包含子元素的大小来自动调整行列的宽度

    
        
             
             
        
        
            
            
            
        
        

WPF学习笔记——6)Grid面板_第3张图片

 3)按照比例设置

每行或者每列按照某中比例大小来确定尺寸,我们以第一行与第二行的高度比为1:5为例

    
        
             
             
        
        
            
            
            
        
        

WPF学习笔记——6)Grid面板_第4张图片

3、布局舍入

当我们使用上面的比例设置行列大小时,假设窗口的高度为400像素,按照第一行和第二行为1:5的比例,那么第一行高度的像素为400/(1+5)=66.67,那么像素如果为小数,在第一行和第二行交界处会产生模糊的图像,此时我们就需要用到布局舍入这项功能。

我们将Grid的属性特性UseLayoutRounding为True,就可以解决边缘模糊的问题

4、跨越行和列

一般子元素是固定放在某行某列的,如果需要该元素跨越行列放置,占据多个行列放置,那么我们一般对Grid.ColumnSpan或者Grid.RowSpan进行设置,我们将第二行第二列的按钮跨2列显示:

    
        
             
             
        
        
            
            
            
        
        

WPF学习笔记——6)Grid面板_第5张图片

5、分割窗口

如果需要将窗口分割为两个部分,通过中间的分割线来拖动调整两个子窗口的大小。

我们可以通过给Grid面板添加一个GridSplitter对象来实现这个功能。我们以第一列和第二列添加分割条为例。

我们多添加一列,将第二列空出来放置GridSplitter对象,然后对GridSplitter设置属性:

    
        
             
             
        
        
            
            
            
            
        
        

下面是分割条拖动调整窗口大小的效果: 

WPF学习笔记——6)Grid面板_第6张图片WPF学习笔记——6)Grid面板_第7张图片

6、共享尺寸组

当两个组件需要有相同的尺寸时,我们可以利用组件的ShareSizeGroup属性进行操作,将两个组件的ShareSizeGroup设置为相同的字符串,那么这两个组件的尺寸就共享一组数据,其大小也就一致了

你可能感兴趣的:(WPF)