WPF 内建面板学习总结(一)

本文总结了WPF中的三种主要内建面板:DockPanel用于子元素的停靠布局,Canvas通过显式坐标实现精确定位,而Grid则利用行列定义进行定位。DockPanel无Dock属性,子元素通过DockPanel.Dock属性停靠;Canvas提供Canvas.Left等属性进行相对定位,适用于矢量图形绘制;Grid通过Grid.Column和Grid.Row属性定义子元素的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面板能承载其他子元素,并可设置子元素的大小、位置。DockPanel、Canvas、StackPanel、Grid是WPF中主要的内建面板,这些面板类都位于System.Windows.Controls.Panel。

1、DockPanel

停靠面板,使子元素可以停靠在整个面板的某一条边上。 WinForm中是通过设置Dock属性,停靠控件的;但在WPF中,没有Dock属性。可设置模板之内的子元素DockPanel.Dock属性为“LeftTopRightBottom”,属性设置后不会改变子元素自身的HeightWidth。面板上的子元素设置时,先设置MenuToolbarStatusbar等可以通过“TopBottomLeftRight”停靠的子元素,然后加入填充区元素,注意,不能设置该元素的DockPanel属性,该元素就能自动填充整个剩余空间了。

2、Canvas

画布,可承载任意元素,包括控件,图形,甚至文字。它不会自动调整子元素的排列及大小,仅支持用显式坐标定位控件,也允许指定相对任何角的坐标。

它有四个属性:Canvas.Left Canvas.Right Canvas.Bottom Canvas.Top。这个属性很特别,如果有Canvas.Left时,Canvas.Right就不起作用,如果有Canvas.TopCanvas.Bottom就不起作用。并且这四个属性是相对的,即不管Canvas变成多大或多小,控件的相对位置都是固定的。如果子元素没有使用任何附加属性,它会被放在Canvas的左上方(等同于设置LeftTop0)。

Canvas的主要用来画图,对于矢量图形的准确定位非常有用。。默认不会自动裁减超过自身范围的内容,溢出的内容会显示在Canvas外面,可以通过设置ClipToBounds=True”来裁剪多出的内容,默认情况为flase

3、Grid

网格面板,通过定义Gird的行列进行定位的面板。Grid有两个定位行列的属性:Grid.ColumnDefintionsGrid.RowDefiniftion。在Grid上添加子元素后,需要定义子元素的Grid.ColumnGrid.Row属性。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值