#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
, размер которой соответствует содержимому, как только вы перетаскиваете разделитель сетки, это значение заменяется текущей высотой строки.