wpf
Controllo della griglia
Ricerca…
Una semplice griglia
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Text="abc"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="def"/>
</Grid>
Righe e colonne vengono definite aggiungendo ColumnDefinition elementi RowDefinition e ColumnDefinition alle raccolte corrispondenti.
Ci può essere una quantità abituale di bambini nella Grid . Per specificare quale riga o colonna deve essere posizionato un figlio nelle proprietà associate, Grid.Row e Grid.Column vengono utilizzate. I numeri di riga e colonna sono a base zero. Se nessuna riga o colonna è impostata, il suo valore predefinito è 0 .
I bambini posizionati nella stessa riga e colonna sono disegnati in ordine di definizione. Quindi il bambino definito per ultimo sarà disegnato sopra il bambino definito in precedenza.
Grid per bambini che si estendono su più righe / colonne
Utilizzando le proprietà allegate Grid.RowSpan e Grid.ColumnSpan , i figli di una Grid possono estendersi su più righe o colonne. Nell'esempio seguente il secondo TextBlock coprirà la seconda e la terza colonna della Grid .
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="2" Text="abc"/>
<TextBlock Grid.Column="1" Grid.ColumnSpan="2" Text="def"/>
</Grid>
Sincronizzazione di righe o colonne di più griglie
Le altezze di riga o larghezza delle colonne di multipli Grid s possono essere sincronizzati impostando un comune SharedSizeGroup sulle righe o colonne da sincronizzare. Quindi un controllo genitore da qualche parte nella struttura sopra la Grid deve avere la proprietà allegata Grid.IsSharedSizeScope impostata su True .
<StackPanel Grid.IsSharedSizeScope="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="MyGroup"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
[...]
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="MyGroup"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
[...]
</Grid>
</StackPanel>
In questo esempio, la prima colonna di entrambi i Grid avrà sempre la stessa larghezza, anche quando uno di essi viene ridimensionato dal suo contenuto.