首页 > 其他分享 >WPF布局控件汇总

WPF布局控件汇总

时间:2024-04-07 11:25:17浏览次数:19  
标签:控件 对象 布局 汇总 Grid 版式 WPF 面板

1.Grid表格布局

Grid为WPF中最常用的布局容器, 作为View中的主要组成部分, 负责框架中整体的页面布局。

注意:

Grid的列宽与行高可采用固定、自动、按比例三种方式定义。

固定长度:值为一个确定的数字
自动长度:值为Auto,实际作用就是取实际控件所需的最小值
比例长度:*表示占用剩余的全部宽度;两行都是*,将平分剩余宽度;一个2*,一个*,则前者占剩余全部宽度的2/3,后者占1/3

 

2.StackPanel堆叠布局

StackPanel将控件按照行或列来顺序排列,但不会换行。通过设置面板的Orientation属性设置了两种排列方式:横排(Horizontal默认的)和竖排(Vertical),默认为竖排(Vertical)。

StackPanel 版式面板允许您按指定的方向堆叠对象。根据在 StackPanel 版式面板中定义的属性,内容可以垂直(默认情况)流动也可水平流动。

 

3.WrapPanel

 WrapPanel 版式面板与 StackPanel 版式面板相似,但它允许将对象置于多行上。当对象超出面板的边缘之后,不会被剪切,而是会环绕到下一行。在添加更多子对象时, WrapPanel 版式面板将继续环绕,直到用完其空间。只有到这个时候,它才会剪切对象。

 

4.DockPanel

DockPanel支持让元素简单地停靠在整个面板的某一条边上,然后拉伸元素以填满全部宽度或高度。它也支持让一个元素填充其他已停靠元素没有占用的剩余空间。
DockPanel 版式面板提供了一个布局区域,您可以在其中基于罗盘方向(北、南、东和西)沿屏幕的边缘排列子对象。 DockPanel 过去一直用作其他窗体程序包中的根布局,原因是它允许面板 “停靠” 到屏幕边缘。

 

5.UniformPanel

UniformGrid就是Grid的简化版,每个单元格的大小相同,不需要定义行列集合。每个单元格始终具有相同的大小,每个单元格只能容纳一个控件。UniformGrid 对象在相等或均匀的 Grid 区域中排列子对象。 UniformGrid 对象不是 Grid 面板的一种变形;更准确地说,它是一种平铺布局对象,

因为它会根据指定的行数和列数在所包含的每个对象之间设定相等的间距。可以在“属性”面板中的“公共属性”下指定行数和列数。向 UniformGrid 对象中添加子对象时,每个对象均按从左上至右下的顺序放到区域中,直到填满 UniformGrid 为止。这对诸如图像列表之类的控件非常有用。

 

6.Canvas画布

Canvas是一个类似于坐标系的面板,所有的元素通过设置坐标来决定其在坐标系中的位置。具体表现为使用Left、Top、Right、 Bottom附加属性在Canvas中定位控件。“画布”版式面板支持绝对定位方式,并且不会对其子对象应用任何布局策略,它实际上是一个空白画布。如果固定定位非常重要,请使用 Canvas 版式面板。

7.ScrollViewer滚动布局

ScrollViewer是带有滚动条的面板。在ScrollViewer中只能有一个子控件,若要显示多个子控件,需要将一个附加的 Panel控件放置在父 ScrollViewer中。然后可以将子控件放置在该控件中。

8.ViewBox

Viewbox的作用是拉伸或延展位于其中的组件,以填满可用空间。在Viewbox中只能有一个子控件,若要显示多个子控件,需要将一个附加的Panel控件放置在父Viewbox中。然后可以将子控件放置在该控件中。

常用属性:Stretch:获取或设置拉伸模式以决定该组件中的内容以怎样的形式填充该组件的已有空间,Stretch默认值为Uniform。

 

9.Border

Border 是一个装饰的控件,此控件用于绘制边框及背景,在Border中只能有一个子控件,若要显示多个子控件,需要将一个附加的Panel控件放置在父Border中。然后可以将子控件放置在该 Panel控件中。

参考:https://blog.csdn.net/qq_44034384/article/details/106154954
微软官方教程:https://learn.microsoft.com/zh-cn/previous-versions/visualstudio/design-tools/expression-studio-4/cc295017(v=expression.40)

标签:控件,对象,布局,汇总,Grid,版式,WPF,面板
From: https://www.cnblogs.com/SmallChen/p/18118677

相关文章

  • AndroidStudio学习记录(4):单选按钮控件RadioButton
    用于应用二选一等多选选项的设置<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">&l......
  • 用友U8ERP常见的清理锁定方法汇总
    用友U8ERP常见的清理锁定方法汇总注:涉及数据库处理的,请在专人指导下谨慎操作!1、制单时提示:当前选择的银行日记账被其他用户锁定,正在制单,不能再进行制单解决办法:清理异常、清除站点;如果都不行,数据库清理锁定:deletefromcn_lockacctbookwherecAuth<>'删除'---(根据条件删除)2......
  • WPF开发一个可以自适应排列的Panel控件
    一.控件介绍    初看标题可能无法理解,我们看看什么是自适应排列。乍一看它有点像WrapPanel控件,都是从左至右排列,如果一行排列不下就换行继续排列,但是细看你就会发现不对,WrapPanel控件行尾是不会对齐的,也就是说只要WrapPanel的子控件的宽度不一致,每一行的末尾就会必定留下一......
  • 【蚂蚁笔试题汇总】[全网首发] 2024-04-06-蚂蚁春招笔试题-三语言题解(CPP/Python/Jav
    ......
  • qt 设置QSS样式汇总
    参考博客1:【QT】史上最全最详细的QSS样式表用法及用例说明 参考博客2:QFrame样式  参考博士3:Qt前端技术:3.QSS字体样式......
  • Wpf BackgroundWorker WorkerSupportsCancellation CancellationPending
    //xaml<Windowx:Class="WpfApp37.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic......
  • Wpf BackgroundWorker DoWork RunWorkerCompleted
    //xaml<Windowx:Class="WpfApp37.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic......
  • WPF登录界面样例
    XAML文件内容如下1<Windowx:Class="ERP.Views.Login"2xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"3xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"4xmlns:d="......
  • 24年社工报名时间汇总❗报名流程手把手教!
    24年社工报名时间汇总❗报名流程手把手教!网上报名唯一网站:中国人事考试网14个考区报名时间汇总!!内蒙古:4月1日9:00——4月14日24:00山东:4月2日9:00——4月12日16:00湖北:4月2日9:00——4月16日20:00四川:4月2日——4月15日北京:4月3日——4月12日辽宁:4月3日9:00——4月14日24:0......
  • 在RichTextBox mvvm中使用wpf工具包在插入符号处插入文本
    ,可以通过以下步骤实现:首先,确保你已经在项目中引用了WPF工具包。可以通过在VisualStudio中的项目引用中添加对WPF工具包的引用来完成。在你的MVVM模式中,创建一个名为"InsertTextCommand"的命令类,用于处理插入文本的逻辑。这个命令类应该实现ICommand接口,并且包含一个Execute方......