WPF WrapPanel,但由于项目大小不同而填充为空 space?

WPF WrapPanel, but fills empty space due to different size items?

我有一个“组”对象列表,每个对象都包含一个显示为复选框的“选项”对象列表。我希望这些能够自动以简洁的方式显示,而不必使用诸如网格之类的东西手动布置 UI(这是我过去所做的,并且需要付出很多努力)。

我的群组有不同数量的选项,因此群组容器的大小在各个群组中是不一样的。我正在使用 WrapPanel,但它导致了一个相当丑陋的设计,因为 WrapPanel 中的每个项目似乎都被放入相同大小的容器中:

我知道我已经在 HTML/CSS/JS 中完成了此操作,我可以让它自动压缩未使用的 space。 WPF有这样的东西吗?我的选项列表是手动创建的,但我可以在我的代码中很容易地 add/remove 选项,所以我宁愿不必在网格视图中手动重新计算内容。

我查看了 ,这听起来很相似,但该问题的答案没有示例,我无法弄清楚我实际上应该 change/use回答(我尝试使用它对布局没有任何影响)。

我猜你使用了 WrapPanel 的水平方向,所以每一行的高度都是它的元素的最大值。您的问题不是免费 space 在行尾,因此您提到的解决方案不适合您。您可以尝试使用 WrapPanel 的垂直方向,您的 wrappanel' 元素看起来宽度相似,可能看起来更好。