WPF布局

WPF画布的形式,重叠部分就不需要画了,叠加效果,渲染的时候框架自身处理

1、Grid网格

 2、Stack堆栈

 

3、DockPanel 停靠

 dock码头,panel面板

默认靠左对齐,类似StackPanel,只不过最后一个对象会填满剩余空间

1、LastChildFill="False" 最后一个就不会占满剩余空间

设高度,会居中

对比:StackPanel是自上而下垂直排列,最后一个也不会占满剩余空间

2、DockPanel.Dock 内部元素常用属性

快速布局

剩余部分填满,注意顺序,剩余部分重新划分对齐,先到显得

    <DockPanel>
        <Button Content="标题栏" DockPanel.Dock="Top" />
        <Button Content="状态栏" DockPanel.Dock="Bottom" />
        <Button Content="菜单栏"  />
        <Button Content="消息栏" DockPanel.Dock="Right"/>
        <Button Content="内容栏" />
    </DockPanel>

按住Alt+箭头上下,可以整行移动上下行

 

4、WarpPanel

 

Wrap:包,排不下会折行显示

默认情况水平方向,从左向右

也可以垂直方向,从上向下

常用属性:Orientation 布局方向

 不规则的网格大小排列

按照最大的行内高度进行换行的,自然折行

 button会默认高度,不会占满高度

stockpanel默认会占满高度,一行展示,展示不开也不折行

 可以设置Vertical 垂直,最长宽度折行

 

底层原理还是通过尺寸来计算的

 瀑布流

查找最短列排列

 

应用

防Windows桌面的排列,从上向下,折行向右

现在这种自上而下的排列布局,简单的可以这样,复杂的还是自定义

需求:如何均分空白区域

 

5、UniformGrid

Uniform制服,统一的

 拓控件还找不到

自动均分局域,列不够,自动缩小,创建新列

Rows,均分成多少行

6行

两行

 

 

Columns,均分成多少列

两行,10列

 强制两行两列

 窗口显示不出来

后面的还会继续往后排列

 

应用

均分的都可以

 经常会被Grid代替

 

posted on 2025-03-25 22:55  张彦山  阅读(56)  评论(0)    收藏  举报