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.