我在WPF窗口中使用GridSplitter。分割器上方是一个TreeView,下面是一个DockPanel,其中包含一个文本框。当我在TreeView中选择一个项目时,DockPanel的内容将通过数据绑定进行更新。
根据TextBox的内容,窗口的下部窗格会扩展和缩小。我希望它从Height 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之后,调整大小停止发生,用户界面就像我想要的那样。
答案 0 :(得分:9)
明确设置您希望拥有初始大小的网格行的Height
。
现在row3在Auto
上,并且只要您拖动GridSplitter,该值将被替换为当前行的高度,就会调整内容大小。