WPF所有布局容器都继承自抽象类Panel
Border
虽然Border控件不是布局面板,但经常与布局面板一起使用。所以此处介绍下。只能包含一段嵌套内容(通常是布局面板),并为其添加背景或在其周围添加边框。通常掌握Background,BorderBrush,BorderThickness,COrnerRadius,Padding属性。
StackPanel
在水平或垂直的堆栈中放置元素。这个布局容器通常用于更大、更复杂窗口中的一些小区域。可水平排列,可垂直排列。
WrapPanel
在一系列可换行的行中放置元素。在水平方向上,WrapPanel面板从左向右放置条目,然后在随后的行中放置元素。在垂直方向上,WrapPanel面板在自上而下的列中放置元素,并使用附加的列放置剩余的条目。WrapPanel是唯一一个不能通过灵活使用Grid面板代替的面板。
DockPanel
根据容器的整个边界调整元素。
Grid
- 根据不可见的表格在行和列中排列元素,这是最灵活、最常用的容器之一。
- WPF中功能最强大的布局容器。
- 默认为不可见,可将ShowGridLines属性设置为true来显示。
- Width=固定值,auto(自动尺寸),*(按比例尺寸,可用2*代表2倍)。
- RowSpan跨多行,ColumnSpan跨多列。
- 共享尺寸组,IsSharedSizeScope。可以使2个独立的grid,某一列宽度同步。
- Grid分隔条。必须为VerticalAlignment,HorizontalAlignment,Width必须提供属性值。
UniformGrid
在不可见但是强制所有单元格具有相同尺寸的表中放置元素,这个布局容器不常用。
Canvas
- 使用固定坐标绝对定位元素。这个布局容器与传统Windows窗体应用程序最相似,但没有提供锚定或停靠功能。
- 因此,对于尺寸可变的窗口,该布局容器不是合适的选择。如果选择的话,需要另外做一些工作。
- 重叠时,可用Zindex调整顺序。
TabPanel
包含多个选项卡。
ToolbarPanel
工具栏中的多个按钮。
ToolbarOverflowPanel
Toolbar控件的溢出菜单中的多个命令。
VirtualizingStackPanel
数据绑定列表控件使用该面板以大幅降低开销。
InkCanvas
- 与Canvas类似,但支持处理平板电脑上的手写笔输入。
- 在window中可以用来绘制任意元素,相当于一个画板。
- 可以绘制,可以擦除,可以选择。