Suche…


Ein einfaches Gitter

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

Zeilen und Spalten werden definiert, indem den entsprechenden Sammlungen RowDefinition und ColumnDefinition Elemente ColumnDefinition werden.

Es können beliebig viele Kinder im Grid . Um anzugeben, welche Zeile oder Spalte ein Grid.Row Grid.Column in den angefügten Eigenschaften Grid.Row und Grid.Column werden diese verwendet. Zeilen- und Spaltennummern basieren auf Null. Wenn keine Zeile oder Spalte gesetzt ist, ist der Standardwert 0 .

In derselben Zeile und Spalte platzierte Kinder werden in der Definitionsreihenfolge gezeichnet. Das zuletzt definierte Kind wird also über das zuvor definierte Kind gezeichnet.

Gitterkinder, die sich über mehrere Zeilen / Spalten erstrecken

Durch die Verwendung der Grid.RowSpan und Grid.ColumnSpan angefügten Eigenschaften, Kinder eines Grid können mehrere Zeilen oder Spalten erstrecken. In dem folgenden Beispiel wird die zweite TextBlock wird die zweite und dritte Spalte der Spannweite 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>

Zeilen oder Spalten mehrerer Raster synchronisieren

Die Zeilenhöhen oder Spaltenbreiten mehrerer Grid können synchronisiert werden, indem eine gemeinsame SharedSizeGroup für die zu synchronisierenden Zeilen oder Spalten festgelegt wird. Dann muss ein übergeordnetes Steuerelement oben in der Baumstruktur oberhalb der Grid die angefügte Eigenschaft Grid.IsSharedSizeScope auf 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 diesem Beispiel hat die erste Spalte beider Grid immer die gleiche Breite, auch wenn eine der beiden durch den Inhalt angepasst wird.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow