Практическое руководство. Изменение размера строк с помощью разделителя 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