Freigeben über


Vorgehensweise: Ändern der Größe von Zeilen mit einem GridSplitter

In diesem Beispiel wird gezeigt, wie Sie einen horizontalen GridSplitter verwenden, um den Abstand zwischen zwei Zeilen in einer Grid neu zu verteilen, ohne die Abmessungen der Gridzu ändern.

Beispiel

So erstellen Sie einen GridSplitter, der den Rand einer Zeile überdeckt

Um einen GridSplitter zu definieren, der die Größe benachbarter Zeilen in einem Grid ändert, legen Sie die angefügte Eigenschaft Row auf eine der Zeilen fest, deren Größe Sie ändern möchten. Wenn Ihr Grid mehr als eine Spalte umfasst, legen Sie die angefügte Eigenschaft ColumnSpan fest, um die Anzahl von Spalten anzugeben. Legen Sie dann VerticalAlignment auf Top oder Bottom fest (welche Ausrichtung Sie festlegen, hängt davon ab, welche der beiden Zeilen Sie in der Größe ändern möchten). Und schließlich legen Sie die HorizontalAlignment-Eigenschaft auf Stretch fest.

Das folgende Beispiel zeigt, wie Sie einen horizontalen GridSplitter definieren, 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 keine eigene Zeile belegt, kann durch andere Steuerelemente im Grid verdeckt werden. Weitere Informationen zum Vermeiden dieses Problems finden Sie unter Sicherstellen, dass ein GridSplitter sichtbar ist.

Erstellen eines GridSplitter-Elements, das eine Zeile einnimmt

Um einen GridSplitter anzugeben, der eine Zeile in einem Grid belegt, legen Sie die angefügte Eigenschaft Row auf eine der Zeilen fest, deren Größe Sie ändern möchten. Wenn Ihr Grid mehr als eine Spalte umfasst, legen Sie die angefügte Eigenschaft ColumnSpan auf die Anzahl von Spalten fest. Legen Sie dann die VerticalAlignment auf Centerfest, legen Sie die HorizontalAlignment-Eigenschaft auf Stretchfest, und legen Sie die Height der Zeile, die die GridSplitter enthält, auf Autofest.

Das folgende Beispiel zeigt, wie Sie einen horizontalen GridSplitter definieren, der eine Zeile einnimmt und die Größe der Zeilen auf beiden Seiten davon ändert.

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

Weitere Informationen