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.