方法: GridSplitter を使用して行のサイズを変更する
この例では、水平 GridSplitter を使用して、Gridのディメンションを変更せずに、Grid 内の 2 つの行間のスペースを再配分する方法を示します。
例
行 の端をオーバーレイする GridSplitter を作成する方法
Grid内の隣接する行のサイズを変更する GridSplitter を指定するには、Row 添付プロパティをサイズ変更する行のいずれかに設定します。 Grid に複数の列がある場合は、ColumnSpan 添付プロパティを設定して列数を指定します。 次に、VerticalAlignment を Top または Bottom に設定します (どの配置を設定するかは、サイズを変更する 2 つの行によって異なります)。 最後に、HorizontalAlignment プロパティを Stretchに設定します。
次の例は、隣接する行のサイズを変更する水平方向の GridSplitter を定義する方法を示しています。
<GridSplitter Grid.Row="1"
Grid.ColumnSpan="3"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Background="Black"
ShowsPreview="true"
ResizeDirection="Rows"
Height="5"/>
独自の行を占有しない GridSplitter は、Grid内の他のコントロールによって隠される可能性があります。 この問題を回避する方法の詳細については、「GridSplitter が表示されていることを確認する」を参照してください。
行 を占有する GridSplitter を作成する方法
Grid内の行を占有する GridSplitter を指定するには、Row 添付プロパティをサイズ変更する行のいずれかに設定します。 Grid に複数の列がある場合は、ColumnSpan 添付プロパティを列数に設定します。 次に、VerticalAlignment を Centerに設定し、HorizontalAlignment プロパティを Stretchに設定し、GridSplitter を含む行の Height を Autoに設定します。
次の例は、行を占有し、行の両側の行のサイズを変更する水平方向の 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"/>
関連項目
.NET Desktop feedback