如何设置GridSplitter“窗格”的初始高度?

时间:2011-04-14 12:08:24

标签: wpf gridsplitter

我在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之后,调整大小停止发生,用户界面就像我想要的那样。

1 个答案:

答案 0 :(得分:9)

明确设置您希望拥有初始大小的网格行的Height

现在row3在Auto上,并且只要您拖动GridSplitter,该值将被替换为当前行的高度,就会调整内容大小。