次の方法で共有


方法: GridSplitter を使用して列のサイズを変更する

この例では、GridSplitterのディメンションを変更せずに、Grid内の 2 つの列間にスペースを再配分するために垂直Gridを作成する方法を示します。

列の端をオーバーレイする GridSplitter を作成する方法

GridSplitter内の隣接する列のサイズを変更するGridを指定するには、Column添付プロパティをサイズ変更する列のいずれかに設定します。 Gridに複数の行がある場合は、RowSpan添付プロパティを行数に設定します。 次に、 HorizontalAlignment プロパティを Left または Right に設定します (どの配置を設定するかは、サイズを変更する 2 つの列によって異なります)。 最後に、 VerticalAlignment プロパティを Stretch に設定します。

<GridSplitter Grid.Column="1" 
              Grid.RowSpan="3" 
              HorizontalAlignment="Left" 
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="true"
              Width="5"/>

独自の列を持たない GridSplitter は、 Grid内の他のコントロールによって隠される可能性があります。 この問題を回避する方法の詳細については、「 GridSplitter が表示されていることを確認する」を参照してください。

列を占有する GridSplitter を作成する方法

GridSplitter内の列を占有するGridを指定するには、Column添付プロパティをサイズ変更する列のいずれかに設定します。 グリッドに複数の行がある場合は、 RowSpan 添付プロパティを行数に設定します。 次に、HorizontalAlignmentCenter に設定し、VerticalAlignment プロパティを Stretch に設定し、Widthを含む列のGridSplitterAuto に設定します。

次の例は、列を占有し、列の両側の列のサイズを変更する垂直 GridSplitter を定義する方法を示しています。

<Grid.ColumnDefinitions>
  <ColumnDefinition/>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition/>
</Grid.ColumnDefinitions>
<GridSplitter Grid.Column="1"
              HorizontalAlignment="Center"
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="True"
              Width="5"
              />

こちらも参照ください