XAML中的DockPanel布局

DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中。停靠面板其实就是在WinForm类似于Dock属性的元 素。DockPanel会对每个子元素进行排序,并停靠在面板的一侧,多个停靠在同侧的元素则按顺序排序。
如果将 LastChildFill 属性设置为 true(默认设置),那么无论对 DockPanel 的最后一个子元素设置的其他任何停靠值如何,该子元素都将始终填满剩余的空间。若要将子元素停靠在另一个方向,必须将 LastChildFill 属性设置为 false,还必须为最后一个子元素指定显式停靠方向。
默认情况下,面板元素并不接收焦点。要强制使面板元素接收焦点,请将 Focusable 属性设置为 true。    
注意:屏幕上 DockPanel 的子元素的位置由相关子元素的 Dock 属性以及这些子元素在 DockPanel 下的相对顺序确定。因此,具有相同 Dock 属性值的一组子元素在屏幕上的位置可能不同,具体取决于这些子元素在 DockPanel 下的顺序。子元素的顺序会影响定位,因为 DockPanel 会按顺序迭代其子元素,并根据剩余空间来设置每个子元素的位置。
以下是使用DockPanel布局元素布局的效果
XAML中的DockPanel布局
代码如下
首先,使用Grid布局元素定义一行两列,如果不设置行列自定义为一行一列,Grid第一列使用了DockPanel布局元素布局,DockPanel属性LastChildFill设置为false,是因为不想DockPanel 的最后一个子元素填满剩余的空间,在DockPanel元素里面定义了一些按钮,
DockPanel.Dock属性指定显式停靠方向。
第二列的布局与第一列大同小异,只是DockPanel属性LastChildFill设置为True,所以最后一个子元素填满了剩余空间,按钮设置了水平居中或靠右等属性等
XAML中的DockPanel布局