Jak zmienić rozmiar wierszy przy użyciu GridSplitter

W tym przykładzie pokazano, jak za pomocą poziomej GridSplitter dystrybucji miejsca między dwoma wierszami w tabeli Grid bez zmieniania wymiarów .Grid

Przykład

Jak utworzyć gridSplitter, który nakłada krawędź wiersza

Aby określić obiekt , GridSplitter który zmienia rozmiar sąsiadujących wierszy w obiekcie Grid, Row ustaw właściwość attached na jeden z wierszy, których rozmiar chcesz zmienić. Jeśli kolumna Grid zawiera więcej niż jedną kolumnę, ustaw właściwość ColumnSpan attached, aby określić liczbę kolumn. Następnie ustaw wartość lub VerticalAlignmentTopBottom (ustawienie wyrównania zależy od tego, które dwa wiersze chcesz zmienić). Na koniec ustaw właściwość HorizontalAlignment na wartość Stretch.

W poniższym przykładzie pokazano, jak zdefiniować poziomą zmianę GridSplitter rozmiaru sąsiednich wierszy.

<GridSplitter Grid.Row="1" 
              Grid.ColumnSpan="3" 
              HorizontalAlignment="Stretch" 
              VerticalAlignment="Top"
              Background="Black" 
              ShowsPreview="true"
              ResizeDirection="Rows"
              Height="5"/>

Obiekt GridSplitter , który nie zajmuje własnego wiersza, może zostać zasłonięte przez inne kontrolki w kontrolce Grid. Aby uzyskać więcej informacji na temat zapobiegania temu problemowi, zobacz Upewnij się, że gridSplitter jest widoczny.

Jak utworzyć gridSplitter, który zajmuje wiersz

Aby określić obiekt GridSplitter , który zajmuje wiersz w obiekcie Grid, Row ustaw właściwość attached na jeden z wierszy, których rozmiar chcesz zmienić. Jeśli element Grid ma więcej niż jedną kolumnę, ustaw właściwość ColumnSpan attached na liczbę kolumn. Następnie ustaw właściwość VerticalAlignment na Centerwartość , HorizontalAlignmentStretcha Height następnie ustaw wartość dla wiersza zawierającego wartość GridSplitterAuto.

W poniższym przykładzie pokazano, jak zdefiniować poziomą GridSplitter , która zajmuje wiersz i zmienia rozmiar wierszy po obu stronach.

<Grid.RowDefinitions>
  <RowDefinition Height="50*" />
  <RowDefinition Height="Auto" />
  <RowDefinition Height="50*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="1" Background="Tan"/>
<GridSplitter Grid.Row="1"
              HorizontalAlignment="Stretch"
              VerticalAlignment="Center"
              Background="Black" 
              ShowsPreview="True"
              Height="5"
           />
<StackPanel Grid.Row="2" Grid.Column="0" Background="Brown"/>

Zobacz też