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
.NET Desktop feedback