Freigeben über


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

In diesem Beispiel wird gezeigt, wie Sie eine vertikale GridSplitter erstellen, um den Abstand zwischen zwei Spalten in einem Grid neu zu verteilen, ohne die Abmessungen der Gridzu ändern.

Beispiel

Wie man einen GridSplitter erstellt, der den Rand einer Spalte überlappt

Wenn Sie eine GridSplitter angeben möchten, die die Größe angrenzender Spalten in einem Gridändert, legen Sie die angefügte eigenschaft Column auf eine der Spalten fest, die Sie ändern möchten. Wenn Ihr Grid mehr als eine Zeile enthält, legen Sie die angefügte eigenschaft RowSpan auf die Anzahl der Zeilen fest. Legen Sie dann die Eigenschaft HorizontalAlignment auf Left oder Right fest (welche Ausrichtung Sie festlegen, hängt davon ab, welche der beiden Spalten Sie anpassen möchten). Legen Sie schließlich die VerticalAlignment Eigenschaft auf Stretchfest.

<GridSplitter Grid.Column="1" 
              Grid.RowSpan="3" 
              HorizontalAlignment="Left" 
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="true"
              Width="5"/>

Eine GridSplitter, die nicht über eine eigene Spalte verfügt, kann von anderen Steuerelementen in der Gridverdeckt werden. Weitere Informationen darüber, wie man das Verhindern dieses Problems sicherstellt, finden Sie unter wie man sicherstellt, dass ein Gridsplittersichtbar ist.

Wie man einen GridSplitter erstellt, der eine Spalte einnimmt

Wenn Sie eine GridSplitter angeben möchten, die eine Spalte in einem Gridbelegt, legen Sie die angefügte Eigenschaft Column für eine der Spalten fest, die Sie anpassen möchten. Wenn Ihr Raster mehr als eine Zeile enthält, legen Sie die angehängte Eigenschaft RowSpan auf die Anzahl der Zeilen fest. Legen Sie dann HorizontalAlignment auf Centerfest, setzen Sie die VerticalAlignment-Eigenschaft auf Stretch, und konfigurieren Sie die Width der Spalte, die GridSplitter enthält, auf Auto.

Das folgende Beispiel zeigt, wie Sie eine vertikale GridSplitter definieren, die eine Spalte einnimmt, und die Größe der Spalten auf beiden Seiten ändert.

<Grid.ColumnDefinitions>
  <ColumnDefinition/>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition/>
</Grid.ColumnDefinitions>
<GridSplitter Grid.Column="1"
              HorizontalAlignment="Center"
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="True"
              Width="5"
              />

Siehe auch