我正在尝试按如下方式安排 WPF UI:
- 窗口顶部是一些自行决定高度的控件(有效地停靠在窗口顶部,但与它们想要的高度一样高)。
- 在这些控件下面是一个 ListView。ListView 可能包含可变数量的项目,每个项目的高度都不同。问题: ListView 不能比它需要的高。如果列表视图中的所有项目都可以轻松放入窗口,我希望 ListView恰好是显示其所有项目的高度(因此窗口看起来像网页的流动布局,底部有空白)。另一方面,如果所有 ListView 项目都不适合窗口,我希望整个 UI 适合窗口(好像下面的数字 3 停靠在窗口底部,并且 ListView 正在填充可用空间) . 当用户调整窗口大小和/或按下更改列表视图内容的按钮时,这一切都必须动态调整。
- ListView 下方是更多的自定高度控件。这些必须始终直接出现在 ListView 下方,没有间隙。特别是,如果它们可以直接放在 ListView 下方,则它们不能只停靠在窗口底部。
解决方案将非常受欢迎;我已经摆弄了一段时间,并设法通过在窗口中使用外部 DockPanel 使第一个控件停靠在顶部,并且 ListView 填充剩余空间但设置为 VerticalAlignment="最佳”。
一个纯 XAML 解决方案将是理想的,但如果它是不可避免的,我不介意后面的代码。允许垂直堆叠多个此类布置的解决方案的奖励积分:) 感谢您的帮助!