7

我在我的 WPF 窗口中使用 GridSplitter。拆分器上方是 TreeView,下方是 DockPanel,其中包含一个文本框。当我在 TreeView 中选择一个项目时,DockPanel 的内容会通过数据绑定进行更新。

根据 TextBox 的内容,窗口的下部窗格的大小会扩大和缩小。我希望它从高度 X 开始,并保持在该高度,除非用户拖动 GridSplitter。

我尝试在 XAML 中设置下部 DockPanel 的高度,但这修复了 DockPanel 的高度,以便在移动 GridSplitter 时它不会调整大小。也许解决方案涉及 Grid.Row 高度?

这是我的页面的一般结构。

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

顺便说一句:在我拖动 GridSplitter 之后,调整大小停止发生,并且 UI 的行为符合我的要求。

4

1 回答 1

10

显式设置Height要具有初始大小的网格行。

现在 row3 处于打开状态Auto并根据内容调整大小,只要您拖动 GridSplitter,该值就会被行的当前高度替换。

于 2011-04-14T12:17:47.380 回答