Share via


Procedura: ridimensionare le righe con un GridSplitter

In questo esempio viene illustrato come utilizzare un oggetto orizzontale GridSplitter per ridistribuire lo spazio tra due righe in un Grid oggetto senza modificare le dimensioni di Grid.

Esempio

Come creare un oggetto GridSplitter si sovrapponga al bordo di una riga

Per specificare un oggetto GridSplitter che ridimensiona le righe adiacenti in un Gridoggetto , impostare la Row proprietà associata su una delle righe da ridimensionare. Se sono Grid presenti più colonne, impostare la ColumnSpan proprietà associata per specificare il numero di colonne. Impostare quindi su o Bottom (l'allineamento VerticalAlignmentTop impostato dipende da quali due righe si desidera ridimensionare). Impostare infine la HorizontalAlignment proprietà su Stretch.

Nell'esempio seguente viene illustrato come definire un oggetto orizzontale GridSplitter che ridimensiona le righe adiacenti.

<GridSplitter Grid.Row="1" 
              Grid.ColumnSpan="3" 
              HorizontalAlignment="Stretch" 
              VerticalAlignment="Top"
              Background="Black" 
              ShowsPreview="true"
              ResizeDirection="Rows"
              Height="5"/>

Oggetto GridSplitter che non occupa la propria riga può essere oscurato da altri controlli in Grid. Per altre informazioni su come evitare questo problema, vedere Assicurarsi che GridSplitter sia visibile.

Come creare un oggetto GridSplitter che occupa una riga

Per specificare un GridSplitter oggetto che occupa una riga in un Gridoggetto , impostare la Row proprietà associata su una delle righe da ridimensionare. Se la Grid colonna contiene più colonne, impostare la ColumnSpan proprietà associata sul numero di colonne. Impostare quindi su VerticalAlignment , impostare la HorizontalAlignment proprietà su Stretche impostare l'oggetto Height della riga contenente su GridSplitterAuto.Center

Nell'esempio seguente viene illustrato come definire un oggetto orizzontale GridSplitter che occupa una riga e ridimensiona le righe su entrambi i lati.

<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"/>

Vedi anche