Как установить начальную высоту «панели» разделителя сеток?

#wpf #gridsplitter

#wpf #разделитель сетки

Вопрос:

Я использую разделитель сеток в своем окне WPF. Над разделителем находится древовидная панель, ниже — док-панель, содержащая, среди прочего, текстовое поле. Когда я выбираю элемент в TreeView, содержимое DockPanel обновляется с помощью привязки данных.

В зависимости от содержимого текстового поля нижняя панель окна расширяется и сжимается в размерах. Я хочу, чтобы она начиналась с высоты X и оставалась на этой высоте, если пользователь не перетащит разделитель сетки.

Я попытался установить высоту нижней док-панели в XAML, но это фиксирует высоту док-панели, чтобы она не изменялась при перемещении разделителя сеток. Возможно, решение связано с сеткой.Высоты строк?

Вот общая структура моей страницы.

 Window
  Grid
    row1 Height="*":    TreeView
    row2 Height="5":    GridSplitter
    row3 Height="auto": DockPanel  // gets taller and shorter depending on its content.
      ...
      TextBox
  

Кстати: после того, как я перетащил разделитель сеток, изменение размера прекращается, и пользовательский интерфейс ведет себя так, как я хочу.

Ответ №1:

Явно задайте Height для строки сетки, размер которой вы хотите получить начальный.

Прямо сейчас включена строка 3 Auto , размер которой соответствует содержимому, как только вы перетаскиваете разделитель сетки, это значение заменяется текущей высотой строки.