问题描述
|
我在WPF窗口中使用了GridSplitter。拆分器上方是一个TreeView,下方是一个DockPanel,其中包含一个文本框。当我在TreeView中选择一个项目时,DockPanel的内容将通过数据绑定进行更新。
根据文本框的内容,窗口的下部窗格会扩展并收缩大小。我希望它从高度X开始,并保持在该高度,除非GridSplitter被用户拖动。
我尝试在XAML中设置下部DockPanel的高度,但这可以修复DockPanel的高度,以便在移动GridSplitter时不调整其大小。也许解决方案涉及Grid.Row Heights?
这是我页面的一般结构。
Window
Grid
row1 Height=\"*\": TreeView
row2 Height=\"5\": GridSplitter
row3 Height=\"auto\": DockPanel // gets taller and shorter depending on its content.
...
TextBox
顺便说一句:在我拖动GridSplitter之后,调整大小停止发生,并且UI表现出我想要的样子。
解决方法
显式设置要具有初始大小的网格行的ѭ1.。
现在,row3在ѭ2上,并调整大小到内容,只要拖动GridSplitter,该值就会被当前行的高度替换。