本示例演示如何创建垂直 GridSplitter 以便在不更改 Grid 的尺寸的情况下重新分配 Grid 中两列之间的空间。
示例
如何创建覆盖列边缘的 GridSplitter
若要指定对 Grid 中相邻列的大小进行调整的 GridSplitter,请将 Column 附加属性设置为要调整大小的列之一。 如果 Grid 具有多个行,请将 RowSpan 附加属性设置为行数。 然后,将 HorizontalAlignment 属性设置为 Left 或 Right(设置的对齐方式取决于要调整大小的两个列)。 最后,将 VerticalAlignment 属性设置为 Stretch。
<GridSplitter Grid.Column="1" 
              Grid.RowSpan="3" 
              HorizontalAlignment="Left" 
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="true"
              Width="5"/>
没有自己的列的 GridSplitter 可能会被 Grid 中的其他控件遮盖。 有关如何避免此问题的更多信息,请参见如何:确保 GridSplitter 可见。
如何创建占据一列的 GridSplitter
若要指定在 Grid 中占据一列的 GridSplitter,请将 Column 附加属性设置为要调整大小的列之一。 如果网格具有多个行,请将 RowSpan 附加属性设置为行数。 然后,将 HorizontalAlignment 设置为 Center,将 VerticalAlignment 属性设置为 Stretch,将包含 GridSplitter 的列的 Width 设置为 Auto。
下面的示例演示如何定义占据一列并对其一侧的列大小进行调整的垂直 GridSplitter。
<Grid.ColumnDefinitions>
  <ColumnDefinition/>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition/>
</Grid.ColumnDefinitions>
...
<GridSplitter Grid.Column="1"
              HorizontalAlignment="Center"
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="True"
              Width="5"
              />