我正在开发一个WPF应用程序。在这个应用程序中,我有一个包含WrapPanel的窗口。 WrapPanel内部是一系列不同高度的StackPanels,但宽度完全相同。设计时不知道StackPanels的数量和大小(它们是动态生成的)。如何根据内容动态调整WrapPanel高度?
这些StackPanels通常彼此堆叠良好,然后在WrapPanel中没有更多空间时“换行”到另一列。为了达到这个目的,我必须为我的WrapPanel设置一个固定的高度(高度设置为“Auto”,它将继续向下而不是包装到另一个列)。然而,偶然我有一个StackPanel太大而不适合WrapPanel高度,它只是被截断。这种情况的图像如下。 (我没有代表嵌入图像)。
http://oi54.tinypic.com/2qa1ul3.jpg
我的问题是,我可以查询每个StackPanel的高度之前,我显示()给用户,并设置基于最大的StackPanel的WrapPanel的高度?有一个更好的方法吗?谢谢。
我其实不希望WrapPanel垂直增长,否则StackPanels不会跳转到下一列。所以,WrapPanel的高度是固定的。你的代码很有趣,谢谢你的回复。我会尝试一下。 – robr 2011-04-26 19:21:46
该代码有效,做我需要的。有点棘手,因为Height属性在Windows上没有设置,直到Show()被调用...但我得到它的工作。谢谢。 – robr 2011-04-26 20:58:43