WPF 深入理解二、布局

布局与控件

常用得布局属性

  • HorizontalAlignment:用于设置元素的水平位置
  • VerticalAlignment: 用于设置元素的垂直位置
  • Margin: 指定元素与容器的边距
  • Height: 指定元素的高度
  • Width: 指定元素的宽度
  • WinHeight/winWidth:指定元素的最小高度和宽度
  • MaxHeight/MaxWidth: 指定元素的最大高度和宽度
  • Padding: 指定元素内部边距

常用的布局容器

  • Grid
  • StackPanel
  • WrapPanel
  • DockPanel
  • UniformGrid

Grid

Grid为最常用的布局容器,作为View中的主要组成部分,负责框架中整体的页面布局。(把有限得控件切割为多行多列)

ShowGridLines:可以设置行业的边距线的显示。Grid.RowDefinitions:可以创建任意行,进行固定高度与百分比或自适应高度设置,Grid.ColumnDefinitions:可以创建任意列,进行固定宽度与百分或自适应宽度设置


StackPanel

Drientation: 用于设置StackPanel的元素排列方式。默认以垂直的方式布局。

WrapPane

WrapPanel与StackPanel类似的功能,相对于StackPanel,==具有在有限的容器范围内,可以自动换行,或者换列处理(StackPanel超出得话 会排列到容器之外不显示)。==具体则取决于WrapPanel的排列方式(Orientation)。默认水平布局方向(Horizontal)

DockPanel

包含在DockPanel中的元素,具备DockPanel.Dock的4个枚举值(Top/Left/Right/Bottom)用于设置元素的锚定位置

LastChildFill :容器中的最后一个元素时,默认该元素填充DockPanel所有空间,默认值为True

DockPanel中的元素未显示添加DockPanel.Dock属性时,系统则会默认为DockPanel.Dock="Left"

默认为DockPanel.Dock="Left"

LastChildFill :容器中的最后一个元素时,默认该元素填充DockPanel所有空间,默认值为True

UniformGrid

与Grid不同的是,该容器具备Columns/Rows 属性,通过设置该属性,UniformGrid则具备相应的行与列,但是设置的Columns/Rows不允许单独的进行容器的大小设置。

位于UniformGrid中的子元素,按输入顺序排列至容器中,直至填充容器的所有空间。

未显示指定Columns/Rows,UniformGrid则为子元素动态分配Columns/Rows,换行与换列的基准主要基于UniformGrid的容器大小(宽度与高度)。

输入顺序排列至容器中,直至填充容器的所有空间。

空间结构

相关推荐
Chris _data12 天前
WPF 学习第三天 — Modbus RTU 串口通信
hadoop·学习·wpf
布吉岛的石头13 天前
Java 程序员第 43 阶段05:微服务整合大模型,跨服务调用架构设计实战,Seata分布式事务实战
wpf
步步为营DotNet13 天前
基于.NET Aspire 实现云原生应用的高效监控与可观测性
云原生·.net·wpf
芒鸽13 天前
HarmonyOS 分布式开发实战:设备协同、数据共享与跨设备迁移
分布式·wpf·harmonyos
Volunteer Technology13 天前
Flink状态管理与容错(二)
大数据·flink·wpf
happyprince14 天前
07_verl-Trainer模块详解
人工智能·架构·wpf·强化学习
bugcome_com14 天前
WPF + Prism 技术指南与实战项目(二、模板搭建)
wpf
小满Autumn15 天前
log4net 日志框架 — 从配置到实战速查手册
笔记·c#·.net·wpf·上位机·log4net
政沅同学15 天前
基于 C# WPF + HALCON 的工业视觉算法工具框架(开源)
开发语言·c#·wpf
happyprince15 天前
03_verl-设计理念与核心原理
wpf