0

我有一个大小可以改变的容器。

我将通过动态创建用户控件的实例并将它们添加到该容器中。用户控件的大小是固定的。我想要做的是,在容器中容纳最多数量的用户控件。

我认为一个好的方法是水平添加孩子,直到没有更多空间可以添加另一个,然后开始另一行。

比如说,对于给定的容器宽度,每行适合 3 个孩子。如果它足够扩展,它应该会自动连续容纳 4 个孩子。

是否有可用于托管这些用户控件的容器控件(StackPanel Grid 等)。需要更改哪些属性。

在调整容器大小时,它应该重新定位孩子,以便显示最大的孩子。只要在任何给定时间显示最大值,滚动就可以了。

是否有一个容器可以自动执行此操作?或者我应该手动创建行或面板或其他东西并为每个添加n个子项 - 即手动执行?

4

2 回答 2

1

我认为你需要的是一个WrapPanel.

MSDN 上有一个面板概述,其中包含更多信息和指向特定类型的链接,Panel包括WrapPanel

WrapPanel将子元素按从左到右的顺序定位,将内容分到包含框边缘的下一行。随后的排序从上到下或从右到左依次发生,具体取决于Orientation属性的值。

于 2009-12-27T15:21:55.927 回答
0

我认为一个好的方法是水平添加孩子,直到没有更多空间可以添加另一个,然后开始另一行。

这正是WrapPanel所做的。

于 2009-12-27T15:22:17.767 回答