更新:2007 年 11 月
本範例示範如何使用水平 GridSplitter 重新分配 Grid 中兩列之間的空間,而不變更 Grid 的大小。
範例
如何建立重疊在資料列邊緣的 GridSplitter
若要指定 GridSplitter 來調整 Grid 中相鄰列的大小,請將 Row附加屬性設為要調整大小的其中一列。如果 Grid 有多欄,請設定 ColumnSpan 附加屬性來指定欄數。接著將 VerticalAlignment 設為 Top 或 Bottom (設定的對齊方式會根據要調整大小的兩列而定)。最後,將 HorizontalAlignment 屬性設為 Stretch。
下列範例示範如何定義調整相鄰列大小的水平 GridSplitter。如需完整範例,請參閱調整資料列和資料行大小的 GridSplitter 範例。
<GridSplitter Grid.Row="1"
Grid.ColumnSpan="3"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Background="Black"
ShowsPreview="true"
ResizeDirection="Columns"
Height="5"/>
不佔列空間的 GridSplitter 可能會被 Grid 中的其他控制項所遮蔽。如需如何避免此問題的詳細資訊,請參閱 HOW TO:確保 GridSplitter 是可見的。
如何建立佔用列空間的 GridSplitter
若要指定在 Grid 中佔用一列的 GridSplitter,請將 Row附加屬性設為要調整大小的其中一列。如果 Grid 有多欄,請將 ColumnSpan 附加屬性設為欄數。接著將 VerticalAlignment 設為 Center、將 HorizontalAlignment 屬性設為 Stretch,然後將包含 GridSplitter 之列的 Height 設為 Auto。
下列範例示範如何定義水平 GridSplitter,佔用列空間並調整列兩側的大小。如需完整範例,請參閱調整資料列和資料行大小的 GridSplitter 範例。
<Grid.RowDefinitions>
<RowDefinition Height="50*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="50*" />
</Grid.RowDefinitions>
...
<StackPanel Grid.Row="0" Grid.Column="1" Background="Tan"/>
<GridSplitter Grid.Row="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Background="Black"
ShowsPreview="True"
Height="5"
/>
<StackPanel Grid.Row="2" Grid.Column="0" Background="Brown"/>