Поделиться через


Практическое руководство. Изменение размера строк с помощью разделителя GridSplitter

Обновлен: Ноябрь 2007

Этот пример показывает, как использовать горизонтальный GridSplitter для распределения пространства между двумя строками в Grid без изменения размеров Grid.

Пример

Создание GridSplitter, который располагается поверх края строки

Чтобы указать GridSplitter, который изменяет размеры соседних строк в Grid, задайте вложенное свойствоRow равным номеру строки, размер которого вы хотите изменить. Если ваш Grid имеет более чем один столбец, задайте вложенному свойству ColumnSpan число столбцов. Затем установите VerticalAlignment в Top или Bottom (выравнивание, которое вы установите зависит от двух строк, размеры которых вы хотите изменить). Наконец, установите свойство HorizontalAlignment равным Stretch.

В следующем примере показано определение горизонтального GridSplitter, который изменяет размеры соседних строк. Полный пример см. в разделе Пример использования GridSplitters для изменения размеров строк и столбцов.

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

GridSplitter, который не содержит собственную строку, может быть скрыт другими элементами управления в Grid. Дополнительные сведения о том, как предотвратить эту проблему см. в разделе Как проверить видимость GridSplitter.

Как создать GridSplitter занимающий строку

Чтобы указать GridSplitter, который занимает строку в Grid, задайте вложенное свойство Row равным номеру строки, размер которой вы хотите изменить. Если ваш Grid имеет более чем один столбец, задайте вложенному свойству ColumnSpan число столбцов. Затем установите VerticalAlignment в Center, установите свойство HorizontalAlignment в Stretch, и установите Height строки, содержащего GridSplitter равным Auto.

В следующем примере показано определение горизонтального GridSplitter, который занимает строку и изменяет размеры строк по обе стороны от него. Полный пример см. в разделе Пример использования GridSplitters для изменения размеров строк и столбцов.

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

См. также

Ссылки

GridSplitter

Другие ресурсы

Примеры использования элемента управления GridSplitter

Разделы практического руководства по элементу управления GridSplitter