1

我目前正在开发一个包含一个窗口的项目,该项目需要显示 1 到 9 个用户控件。

我正在寻找确保所选用户控件数量使用可用的全部空间的最佳方法。

例如,如果选择了 9 个项目,则显示 3 x 3 的网格。但是,如果选择了 8,则将显示 2 行,每行 3,下面是一行 2。(使用colspan)。

我一直在尝试使用统一的网格,因为这看起来好像大多数所需的行为已经存在。(按添加的顺序显示项目,自动调整到窗口大小)。但是,当所选项目的数量不能被 3 整除时,我正在努力实现某种形式的智能!

有没有人遇到过这个问题?或者可以提出一个合适的方法来解决这个问题?

谢谢!!

4

2 回答 2

1

尝试使用 aWrapPanel并将Width每个对象的 设置为环绕面板大小的 1/3。

当第一行填满时,这将自动将项目移动到新行

于 2011-11-09T14:59:43.737 回答
0

坚持统一的网格。由于听起来您想要 3 列,因此无论显示的控件数量如何,您只需要使用:

<UniformGrid Columns="3" />

它会做你所要求的——如果你有 8 个控件,你会在下面得到 2x3 + 2 个额外的。

于 2011-11-09T14:59:01.213 回答