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>
本文来自博客园,作者:じ逐梦,转载请注明原文链接:https://www.cnblogs.com/ZhuMeng-Chao/articles/16407701.html


浙公网安备 33010602011771号