如何使DockPanel中的项目扩展以适应WPF中的所有可用空间?
我有一个StackPanel
包含StackPanel
和其他一些项目。 第一个StackPanel
具有垂直方向,内部方向具有水平方向。 内部有一个TreeView
和一个ListView
,我希望它们扩展并适合窗口的宽度,我在窗口设置并允许用户更改。 我还希望外部StackPanel
适合窗口的高度。 我该怎么做呢?
编辑:我已经转换为使用DockPanel
,并且我已经在每个元素中正确设置了DockPanel.Dock
属性,并且在两个LastChildFill
中都禁用了LastChildFill,布局仍然没有拉伸。
代码:
这应该这样做 – 我设置它,以便TreeView和ListView共享主视图50/50; 如果您不想这样,请将其设置为“自动”和“*”等。 使用“LastChildFill”对您有利!
请改用DockPanel。 StackPanel显然不关心可见空间,而DockPanel根据可用空间完成所有大小计算。
更新:
另外,根据我的经验,将窗体放入视图中,只有窗口中的视图才能获得更好的自动调整体验。
出于某种原因,将所有孩子直接放入窗口似乎不能很好地自动resize。
更新2:
我将从您要拉伸(填充)未使用空间的元素中删除显式DockPanel.Dock属性。
将width和height属性设置为“auto”