常用的Layout布局元素
(一)
- Grid网格
它的子控件被放在一个一个实现定义好的小格子里面,整齐配列。
要使用Grid,首先要向
RowDefinitions
和
ColumnDefinitions
属性中添加一定数量的
RowDefinitions
和
ColumnDefinitions
元素,从而定
义行数和列数。
如果没有显式设置
任何行或列,Grid将会隐式地将控件加入在第0行第0列。
可以定义任意数量的行和列,非常灵活。
行的高度和列的宽度可以使用
绝对值、相对比例或自动调整
的方式进行精确设定,并可以设置最大和最小值。
UI布局的大框架设计。
大量UI元素需要成行或者成列对齐的情况
UI尺寸改变的时候,元素需要保留固有的宽度和高度
比列
。
窗口代码:
视觉效果:
使用特定的位置添加:
Grid.Row=”” Grid.Column=””
跨行: Grid.RowSpan=”2″ 跨列:Grid.ColumnSpan=”2″
等比例长度:Height=”x*”
二、DockPanel:泊靠式面板
DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中。
DockPanel会对每个子元素进行排序,并将根据指定的边进行停靠,多个停靠在同侧的元素则按顺序排序。
在DockPanel中,指定停靠边的控件,会根据定义的顺序占领边角,所有控件绝不会交叠。
DockPanel停靠容器,专门负责自适应窗口的布局
默认情况下,后添加的元素只能使用剩余空间,无论对DockPanel的最后一个子元素设置任何停靠值,该子元素都将始终填满剩余的空间。如果不希望最后一个元素填充剩余区域,可以将DockPanel属性LastChildFill设置为false,还必须为最后一个子元素显式指定停靠方
向。