【发布时间】:2011-04-26 17:22:14
【问题描述】:
我正在开发一个 WPF 应用程序。在这个应用程序中,我有一个包含 WrapPanel 的窗口。 WrapPanel 内部是一系列具有不同高度但宽度相同的 StackPanel。 StackPanel 的数量和大小在设计时是未知的(它们是动态生成的)。
这些 StackPanel 通常会很好地堆叠在一起,然后在 WrapPanel 中没有更多空间时“换行”到另一列。为了实现这一点,我必须为 WrapPanel 设置一个固定的高度(高度设置为“自动”,它将继续沿着页面向下而不是换行到另一列)。但是,当偶然我有一个太大而无法容纳 WrapPanel 高度的 StackPanel 时,它就会被截断。这种情况的图像如下。
我的问题是,我可以在Show()这个给用户之前查询每个StackPanel的高度,并根据最大的StackPanel设置WrapPanel高度吗?有一个更好的方法吗?
【问题讨论】: