Condividi tramite


Procedura: ridimensionare le colonne con un GridSplitter

In questo esempio viene illustrato come creare un verticale GridSplitter per ridistribuire lo spazio tra due colonne in un Grid senza modificare le dimensioni di Grid.

Esempio

Come creare un oggetto GridSplitter che si sovrapponga al bordo di una colonna

Per specificare un GridSplitter oggetto che ridimensiona le colonne adiacenti in un Gridoggetto , impostare la Column proprietà associata su una delle colonne da ridimensionare. Se la Grid proprietà associata contiene più righe, impostare la RowSpan proprietà associata sul numero di righe. Impostare quindi la proprietà su Left o Right (l'allineamento HorizontalAlignment impostato dipende dalle due colonne da ridimensionare). Impostare infine la VerticalAlignment proprietà su Stretch.

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

Un GridSplitter oggetto che non dispone di una propria colonna 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 colonna

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

Nell'esempio seguente viene illustrato come definire un oggetto verticale GridSplitter che occupa una colonna e ridimensionare le colonne su entrambi i lati.

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

Vedi anche