Zoeken…


Een eenvoudig raster

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

Rijen en kolommen worden gedefinieerd door RowDefinition en ColumnDefinition elementen toe te voegen aan de overeenkomstige collecties.

Er kan een willekeurig aantal kinderen in het Grid . Om aan te geven welke rij of kolom een kind moet worden geplaatst in de bijgevoegde eigenschappen Grid.Row en Grid.Column worden gebruikt. Rij- en kolomnummers zijn op nul gebaseerd. Als er geen rij of kolom is ingesteld, staat deze standaard op 0 .

Kinderen die in dezelfde rij en kolom zijn geplaatst, worden getekend in volgorde van definitie. Het laatst gedefinieerde kind zal dus hoger zijn dan het eerder gedefinieerde kind.

Raster kinderen verspreid over meerdere rijen / kolommen

Door de gekoppelde eigenschappen Grid.RowSpan en Grid.ColumnSpan gebruiken, kunnen Grid.RowSpan Grid.ColumnSpan van een Grid meerdere rijen of kolommen overspannen. In het volgende voorbeeld overspant het tweede TextBlock de tweede en derde kolom van het 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>

Rijen of kolommen van meerdere rasters synchroniseren

De rij of kolom heigths breedte van meerdere Grid B kunnen worden gesynchroniseerd door vaststelling van een gemeenschappelijke SharedSizeGroup op de rijen of kolommen te synchroniseren. Dan moet een Grid.IsSharedSizeScope ergens boven in de boom boven het Grid de bijgevoegde eigenschap Grid.IsSharedSizeScope op 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 dit voorbeeld zal de eerste kolom van beide Grid altijd dezelfde breedte hebben, ook wanneer het formaat van een van beide wordt gewijzigd door de inhoud.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow