我有一个容器,其大小可以改变。
我将通过动态创建用户控件的实例并将它们添加到该容器中。 用户控件的大小是固定的。我想要做的是,在容器中容纳最多的用户控件。
我认为一个好的方法是水平添加子项,直到没有更多的空间来添加另一行,然后再开始另一行。
比如说,对于容器的给定宽度,每行适合3个孩子。如果它足够扩展,它应该自动适合连续4个孩子。
是否有可用于托管这些用户控件的容器控件(StackPanel Grid等)。需要更改哪些属性。
在调整容器大小时,应重新定位子容器,以便显示最大子容器。只要在任何给定时间显示最大值,滚动就可以。
是否有自动执行此操作的容器?或者我应该手动创建行或面板或其他东西,并为每个添加 n 子项 - 即手动执行?
答案 0 :(得分:1)
我认为您需要的是WrapPanel
。
Panels Overview on the MSDN有更多信息和指向Panel
特定类型的链接,包括WrapPanel
:
WrapPanel将子元素从左到右按顺序排列,将内容分解为包含框边缘的下一行。后续排序从上到下或从右到左依次发生,具体取决于Orientation属性的值。
答案 1 :(得分:0)
我认为一个好的方法是水平添加子项,直到没有更多的空间来添加另一行,然后再开始另一行。
这正是WrapPanel的作用。