Quanto definiamo il layout tramite una Grid, anche se utilizziamo il metodo proporzionale per definire righe e colonne la struttura della griglia, una volta renderizzata, rimane fissa, statica. Per ovviare a questo comportamento abbiamo a disposizione il controllo GridSplitter il quale non è altro che un divisore mobile. Possiamo utilizzarne più di uno per griglia, basta indicare dove posizionarli come devono agire, ovvero se ridimensionare in verticale o in orizzontale. Nel primo caso usiamo le solite Attached Properties Grid.Row, Grid.Column, Grid.RowSpan, Grid.ColumSpan, mentre per l'altro dobbiamo impostare a Stretch una delle proprietà VerticalAlignment e HorizontalAlignment.
Modifichiamo lo XAML dell'esempio mostrato nella lezione sui Layout Controls introducendo l'uso di due GridSplitter:
<Grid ...>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*" />
<ColumnDefinition Width="50*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50*" />
<RowDefinition Height="50*" />
</Grid.RowDefinitions>
<Rectangle ... />
<Button ... />
<Ellipse ... />
<TextBox ... />
<swc:GridSplitter Grid.Row="1" Grid.Column="0"
Grid.ColumnSpan="2"
Height="5"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
ShowsPreview="True" />
<swc:GridSplitter Grid.Row="0" Grid.Column="1"
Grid.RowSpan="2"
Width="5"
HorizontalAlignment="Left"
VerticalAlignment="Stretch"
ShowsPreview="True" />
</Grid>
Il risultato sarà il seguente:
Le linee in grigio rappresentano la futura posizione della riga o colonna, questo comportamento è controllato dalla proprietà ShowsPreview che nell'esempio appena presentato è impostata a true per entrambi i GridSplitter.
Se vuoi aggiornamenti su .NET inserisci la tua email nel box qui sotto: