Freigeben über


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

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

Beispiel

So erstellen Sie einen GridSplitter, der den Rand einer Spalte überlagert

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

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

Ein GridSplitter Steuerelement, das nicht über eine eigene Spalte verfügt, 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 GridSplitters, der eine Spalte einnimmt

Um ein GridSplitter festzulegen, das eine Spalte in einem Grid belegt, legen Sie die angefügte Eigenschaft Column auf eine der Spalten fest, die Sie größen möchten. Wenn Ihr Raster mehrere Zeilen enthält, legen Sie die RowSpan angefügte Eigenschaft auf die Anzahl der Zeilen fest. Setzen Sie dann den HorizontalAlignment Wert auf Center, setzen Sie die VerticalAlignment Eigenschaft auf Stretch, und setzen Sie 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