WPF教程(二十三)WPF面板简介

面板是WPF中最重要的控件之一,用于存放其他控件,或者控制窗口/页面的布局。由于一个窗体只能放置一个子控件,因此面板用来隔成多块区域,这些区域各自可以放置一个控件或者面板(别忘了面板也是控件)。

面板分不同的形式,每一种都有其自己处理布局以及控制其子控件的方式。因此选择一种合适的面板对于实现你想要的形式和布局非常重要,尤其是你刚开始用WPF的时候,不是那么容易。下面的内容将简单地介绍每种面板,让你大致明白什么时候该用哪种。然后在后面的章节,我们将仔细介绍每一种面板。

Canvas画布

它是一个简单的面板,模仿了WinForms的处理方式。允许你指定每个子控件的具体坐标,以控制整个布局。但是不是很灵活,你必须手动移动子控件来保证它们按你设想的来排列。最好只在需要完全控制子控件的位置时,才使用该面板。

WrapPanel

该面板用于一个接一个的排列控件,以水平或者垂直方向,当空间不足时就会自动切换到下一行。比较适合用于需要水平或者垂直排列控件的情况。

StackPanel

StackPanel和WrapPanel非常像,不同的是它的子控件会尽可能地填充空间。同样的,它也可以水平或者垂直排列,但是无法改变子控件的宽度或者高度,它们会占据StackPanel面板的全部的宽或者高。适用于一排或者一列控件。

DockPanel

DockPanel用于把子控件锁定于顶部、底部、左边或者右边。默认情况下,如果最后一个控件没有被指定具体位置,就会填充剩余的空间。Grip面板也可以实现这个,但是DockPanel使用起来更简单。适用于锁定一个或多个控件到某一个部位,就像把窗口分成几个区域一样。

Grid

Grid面板也许是最复杂的面板类型了。Grip可以包含多行多列。你可以定义每一行的高度和每一列的宽度,通过一个像素值、可用空间的百分比或者自动分配这三种方式。自动分配会根据内容自动调整行高和列宽。Grip一般用于其他面板无法实现的情形,譬如如你需要很多列而且需要联合其他面板。

UniformGrid

UniformGrid和Grid相比,有一个很大的区别:所有行或者列尺寸必须统一。适用于不需要指定不同尺寸的行高和列宽的情形。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值