Postupy: Změna velikosti řádků pomocí prvku GridSplitter

Tento příklad ukazuje, jak pomocí vodorovné GridSplitter redistribuce mezery mezi dvěma řádky v a Grid beze změny dimenzí Grid.

Příklad

Jak vytvořit GridSplitter, který překrytí okraje řádku

Chcete-li zadat GridSplitter velikost sousedních řádků v objektu Grid, nastavte připojenou Row vlastnost na jeden z řádků, u kterého chcete změnit velikost. Pokud má váš Grid sloupec více než jeden sloupec, nastavte připojenou ColumnSpan vlastnost tak, aby určila počet sloupců. Potom nastavte VerticalAlignment hodnotu nebo BottomTop (které zarovnání nastavíte, závisí na tom, které dva řádky chcete změnit velikost). Nakonec nastavte HorizontalAlignment vlastnost na Stretchhodnotu .

Následující příklad ukazuje, jak definovat vodorovnou velikost GridSplitter sousedních řádků.

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

Objekt GridSplitter , který nezabírá vlastní řádek, může být zakryt jinými ovládacími prvky v objektu Grid. Další informace o tom, jak zabránit tomuto problému, naleznete v tématu Kontrola, zda je gridSplitter viditelný.

Jak vytvořit GridSplitter, který zabírá řádek

Chcete-li zadat GridSplitter , který zabírá řádek v sadě Grid, nastavte Row připojenou vlastnost na jeden z řádků, u kterého chcete změnit velikost. Grid Pokud máte více než jeden sloupec, nastavte připojenou ColumnSpan vlastnost na počet sloupců. Potom nastavte na Centerhodnotu , nastavte HorizontalAlignmentVerticalAlignment vlastnost Stretchna a nastavte Height řádek, který obsahuje GridSplitter hodnotu Auto.

Následující příklad ukazuje, jak definovat vodorovnou, GridSplitter která zabírá řádek a změní velikost řádků na obou stranách.

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

Viz také