Szukaj…


Prosta siatka

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

Wiersze i kolumny są definiowane przez dodanie elementów RowDefinition i ColumnDefinition do odpowiednich kolekcji.

Nie może być abitrary ilość dzieci w Grid . Aby określić, który wiersz lub kolumnę należy umieścić w dołączonych właściwościach Grid.Row i Grid.Column . Numery wierszy i kolumn są zerowe. Jeśli nie jest ustawiony żaden wiersz ani kolumna, domyślnie jest to 0 .

Dzieci umieszczone w tym samym rzędzie i kolumnie są rysowane w kolejności definicji. Dziecko zdefiniowane jako ostatnie zostanie narysowane powyżej dziecka zdefiniowanego wcześniej.

Dzieci siatki obejmujące wiele wierszy / kolumn

Korzystając z właściwości dołączonych Grid.RowSpan i Grid.ColumnSpan Grid.RowSpan Grid.ColumnSpan Grid mogą rozciągać się na wiele wierszy lub kolumn. W poniższym przykładzie drugi TextBlock obejmie drugą i trzecią kolumnę 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>

Synchronizowanie wierszy lub kolumn wielu siatek

W heigths szerokości wiersza lub kolumny stwardnienia Grid S może być synchronizowane przez ustawienie wspólnej SharedSizeGroup w rzędach lub kolumnach zsynchronizować. Następnie kontrola nadrzędna gdzieś w drzewie powyżej Grid musi mieć ustawioną właściwość Grid.IsSharedSizeScope na 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>

W tym przykładzie pierwsza kolumna obu Grid będzie zawsze miała tę samą szerokość, także gdy rozmiar jednej z nich zostanie zmieniony.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow