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.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow