WPF布局---布局容器

1、布局容器

Grid、StackPanel、WrapPanel、DockPanel、UniformGrid

<Grid>

  <StackPanel></StackPanel>

  <WrapPanel></WrapPanel>

  <UniformGrid></UniformGrid>

  <DockPanel></DockPanel>

</Grid>  

 

Grid

<Grid></Grid>    

 1 <Grid>
 2 
 3   //定义行
 4 
 5   <Grid.RowDefinitions>
 6 
 7     <RowDefinition/>  //几个它就代表几行
 8   <Grid.RowDefinitions>
 9 
10   //定义列
11 
12   <Grid.ColumnDefinitions>
13 
14     <ColumnDefinition/>  //几个它就代表几列
15 
16   <Grid.RowDefinitions>
17 
18 </Grid> 
行列定义   

 

  元素在grid中不定义所在行和列,默认全部元素在第一行第一列(最后一个元素覆盖之前全部元素)

  行里宽高:    Height=""     Width=""

      自适应:"auto"     ---行高会根据行列元素最高最宽的元素宽高自适应

      绝对尺寸:"具体数"    --宽高为具体参数值

         按照比列:“ 数字* ”    --同级别行列宽高的倍数

  元素跨行跨列:  --默认在第一行第一列

      Grid.ColumnSpan="2"  占据2列空间

      Grid.RowSpan="2"        占据2行空间

 

StackPanel

<StackPanel></StackPanel>

默认从上往下排列

Orientation---设置排列方向       Orientation=“Horizontal”--水平排列   Orientation=“Vertical”--垂直排列

不可以根据包含他的容器宽高,不可以实现自动换行/自动换列   ---宽度不够,多出部分则会隐藏/截断

 

   

 

WrapPanel

<WrapPanel></WrapPanel>

默认水平方向排列

(空间允许效果是单行/单列排列)

Orientation---设置排列方向       Orientation=“Vertical”--垂直排列  Orientation=“Horizontal”--水平排列

特点:可以根据包含他的容器宽高,实现自动换行(发现当元素布局时包含他容器空间行/高不够,则实现自动换行/自动换列)

 

DockPanel

<DockPanel></DockPanel>

默认其中元素从左往右一次排序

停靠功能---DockPanel元素可以设置元素的方向

最后一个元素来填充空间(当前效果因为最后一个元素宽高不够所以居中)

LastChildFill="false"  --属性设置最后一个元素是否填充剩余空间

 

设置元素方向

<元素   DockPanel.Dock="方向"/>     Left  Top  Rigth   Bottom

 

 

UniformGrid

<UniformGrid></UniformGrid>

--一般用来设置几行几列

默认:

在有限空间内根据元素个数平分包含他的空间--例如9个元素他会自动将空间分为3行3列、10个元素会分为3行4列

自己设定

可在<UniformGrid></UniformGrid>中自定义包含他的空间分的行列数 <UniformGrid Columns="数" Rows=“数”></UniformGrid>

 

posted @ 2022-06-24 09:52  じ逐梦  阅读(218)  评论(0)    收藏  举报