C#UI布局

讲一下C#中的UI布局

XAML布局分为6种:
Grid:网格 DockPane:泊靠式面板 StackPanel:栈式面板
WrapPanel:自动折行面板(环绕面板) UniformGrid:均分布局 Canvas:画布布局

一. Grid:网格:

  1. Grid顾名思义就是“网格”,它的子控件被放在一个一个实现定义好的小格子里面
    2.要使用Grid,首先要向RowDefinitions和ColumnDefinitions属性中添加一定数量的RowDefinitions和 ColumnDefinitions元素,从而定义行数和列数。
    3.内部元素可以设置自己所在的行和列Grid.Row和Grid.Column,还可以设置自己纵向跨几行Grid.RowSpan,横向跨几列Grid.ColumnSpan。

例:
C#UI布局_第1张图片

二.DockPane:泊靠式面板

  1. DockPanel会对每个子元素进行排序,并将根据指定的边进行停靠,多个停靠在同侧的元素则按顺序排序
  2. 默认情况下,后添加的元素只能使用剩余空间,无论对DockPanel的最后一个子元素设置任何停靠值,该子元素都将始终填满剩余的空间。如果不希望最后一个元素填充剩余区域,可以将DockPanel属性LastChildFill设置为false,还必须为最后一个子元素显式指定停靠方向。
  3. 最后元素不填充剩余空间,可以使用LastChildFill=“False”
    例如:
    C#UI布局_第2张图片

三. StackPanel:栈式面板

  1. 通过设置面板的Orientation属性设置了两种排列方式:横排(Horizontal)和竖排(Vertical默认的)
  2. 每个元素各占一行或者一列

  3. C#UI布局_第3张图片

四、WrapPanel:自动折行面板(环绕面板)

1.Orientation——根据内容自动换行。当Orientation属性的值设置为 Horizontal:元素是从左向右排列的,然后自上至下自动换行。当

2.Orientation属性的值设置为Vertical:元素是从上向下排列的,然后从左至右自动换行。

3.ItemHeight——所有子元素都一致的高度。每个子元素填充高度的方式取决于它的VerticalAlignment属性、Height属性等。任何比ItemHeight高的元素都将被截断。

4.ItemWidth——所有子元素都一致的宽度。每个子元素填充高度的方式取决于它的VerticalAlignment属性、Width属性等。任何比ItemWidth高的元素都将被截断。

5.例:
C#UI布局_第4张图片

5.UniformGrid:均分布局

  1. UniformGrid 布局面板和Grid 面板相似,将子元素按照行列的方式排列。 但是可以Grid 有一下不同:
  • 不需要指定行和列的大小
  • 所有列都是相同的宽度
  • 所有行都是相同的高度
  • 要指定预期的行和列的数目
  • 不需要给子元素指定所在的行和列
    例:
    C#UI布局_第5张图片
  1. Canvas:画布面板
    1 画布,用于完全控制每个元素的精确位置。他是布局控件中最为简单的一种,直接将元素放到指定位置,主要来布置图面。

你可能感兴趣的:(c#)