WPF排版方法整理

WPF排版方法整理

        • 1 StackPanel
        • 2 WrapPanel
        • 3 DockPanel
        • 4 Grid

    WPF使用控制面板来进行排版,控制面板是一种可以放入WPF界面元素的容器。当用户把界面元素放入控制面板后,WPF会把这些界面元素放在合适的地方。

WPF排版方法整理_第1张图片

1 StackPanel

    StackPanel是最简单的一种控制面板,它把其中的UI元素按横向或纵向堆积排列,每个元素占一行或者一列,Orientation属性指定排列方式:Vertical(垂直)[默认]、Horizontal(水平),默认情况下,水平排列时,每个元素都与面板一样高;垂直排列时,每个元素都与面板一样宽。如果包含的元素超过了面板空间,它只会截断多出的内容。 元素的Margin属性用于使元素之间产生一定得间隔,当元素空间大于其内容的空间时,剩余空间将由HorizontalAlignment和VerticalAlignment属性来决定如何分配。
案例:


    
        
        
        
        
    

效果如下:
WPF排版方法整理_第2张图片

2 WrapPanel

    WrapPanel是和StackPanel最相近的一个控制面板,StackPanel把其中的UI元素按行或列排列,而WrapPanel则可根据其中UI元素的尺寸和其自身可能的大小自动地把其中的UI元素排列到下一行或下一列。如Windows操作系统中的文件管理就是类似的。
    WrapPanel中有三个属性ItemWidth,ItemHeight和Orientation,这三个属性来安排其中的UI元素的位置:
(1)ItemWidth:定义所有子元素的宽度。
(2)ItemHeight:定义所有子元素的高度
(3)Orientation和StackPanel相同的设置,默认值为Horizontal(水平设置)
举例1:Orientation="Horizontal"


    
        
        
        
        
        
    

效果如下:
WPF排版方法整理_第3张图片

举例2:当Orientation="Vertical"时的效果
WPF排版方法整理_第4张图片

3 DockPanel

    DockPanel定义了一个Dock附加属性,其类型为Dock,是枚举类型,可取Left,Right,Top和Bottom四个值,在DockPanel中,指定停靠边的控件,会根据定义的顺序占领边角,所有控件绝不会交叠。当DockPanel的LastChildFill属性设为True时,DockPanel用最后一个加入的UI元素填充所有剩下的地方。如果不希望最后一个元素填充剩余区域,可以将DockPanel属性LastChildFill设置为false,还必须为最后一个子元素显式指定停靠方向。
WPF排版方法整理_第5张图片

案例:


    
        
        
        
        
        
    
    

效果如下:
WPF排版方法整理_第6张图片

4 Grid

   Grid以表格形式布局元素,它的子控件被放在一个一个事先定义好的小格子里面。 要使用Grid,首先要向RowDefinitions和ColumnDefinitions属性中添加一定数量的RowDefinitions和 ColumnDefinitions定义行数和列数。而放置在Grid面板中的控件元素都必须显示采用Row和Column附加属性定义其放置所在的行和列,这两个属性的值都是从0开始的索引数,如果没有显式设置任何行或列,Grid将会隐式地将控件加入在第0行第0列。 列宽和行高,分别可以在ColumnDefinition、RowDefinition里面指定Width、Height的值。
    Grid面板将元素分割到不可见的行列网格中。尽管可以在一个单元格中放置多个元素(这时这些元素会相互重叠),但在每个单元格中只放置一个元素通常更合理。当然,在Grid单元格中的元素本身也可能是另一个容器,该容器组织它所包含的一组控件。

例:


    
        
            
            
        
        
            
            
            
        
        这里是显示的
        
        
    

效果如下:
WPF排版方法整理_第7张图片

你可能感兴趣的:(WPF)