我正在为WPF应用程序创建UI。我在我的窗口堆栈面板里面有一些扩展器。在每个Expander中都有一些控件,一个是List Box。我想要做的是在调整窗口大小时让列表框调整大小(缩小或增大)。此刻,当我重新调整大小时,扩展器会被剪掉,但列表框(有时非常长)保持不变。我该如何实现这一目标。
一个很好的例子是在Outlook 2007中,左侧的“邮件文件夹”缩小了窗口大小,但其他控件没有缩小。
提前致谢。
答案 0 :(得分:0)
StackPanel不会在其子项上移动高度 - 它允许每个孩子的大小尽可能大。您可以尝试在扩展器周围使用网格,并为每个行提供星形高度,以便内容调整大小。
答案 1 :(得分:0)
谢谢保罗,
我自己发现了一些有趣的东西。 我用一个简单的方法扩展了网格控制,当扩展器扩展时会触发,我会称之为。
RowDefinitions[GetRow(expander)].Height = (expander != selectedExpander) ?
new GridLength(1, GridUnitType.Auto) :
new GridLength(1, GridUnitType.Star);
这非常有效。