Freigeben über


Gewusst wie: Änderung der Zeilengröße mit einem GridSplitter

In diesem Beispiel wird veranschaulicht, wie mit einem horizontalen GridSplitter der Platz zwischen zwei Zeilen in einem Grid neu verteilt werden kann, ohne die Abmessungen des Grid zu ändern.

Beispiel

Erstellen eines GridSplitters, der den Rand einer Zeile überlagert

Um einen GridSplitter anzugeben, der die Größe der benachbarten Zeilen in einem Grid ändert, legen Sie die Row angefügte Eigenschaft auf eine der Zeilen fest, deren Größe geändert werden soll. Wenn das Grid aus mehr als einer Spalte besteht, legen Sie die entsprechende ColumnSpan-Eigenschaft auf die Anzahl der Spalten fest. Legen Sie dann die VerticalAlignment-Eigenschaft auf Top oder Bottom fest (die Ausrichtung ist von den beiden Zeilen abhängig, deren Größe geändert werden soll). Legen Sie abschließend die HorizontalAlignment-Eigenschaft auf Stretch fest.

Das folgende Beispiel veranschaulicht die Definition eines horizontalen GridSplitter, der die Größe benachbarter Zeilen ändert.

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

Ein GridSplitter, der über keine eigene Zeile verfügt, kann von anderen Steuerelementen im Grid verdeckt werden. Weitere Informationen zum Vermeiden dieses Problems finden Sie unter Gewusst wie: Sicherstellen, dass ein GridSplitter sichtbar ist.

Erstellen eines GridSplitters, der eine Zeile einnimmt

Um einen GridSplitter anzugeben, der eine Zeile in einem Grid einnimmt, legen Sie die Row angefügte Eigenschaft auf eine der Zeilen fest, deren Größe geändert werden soll. Wenn das Grid aus mehr als einer Spalte besteht, legen Sie die entsprechende ColumnSpan-Eigenschaft auf die Anzahl der Spalten fest. Legen Sie anschließend VerticalAlignment auf Center, die HorizontalAlignment-Eigenschaft auf Stretch und die Height der Zeile, die den GridSplitter enthält, auf Auto fest.

Im folgenden Beispiel wird die Definition eines horizontalen GridSplitter veranschaulicht, der eine Zeile einnimmt und die Größe der angrenzenden Zeilen anpasst.

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

Siehe auch

Referenz

GridSplitter

Weitere Ressourcen

Gewusst-wie-Themen zu GridSplitter