如何选择不同高度的WrapPanel项目(垂直)?

这就是它现在的样子:

瓷砖,没有关闭

这就是我想拥有它的方式:

瓷砖,相互关联

如图所示,瓷砖应尽可能密集,并且它们之间只有一定的边距。

这是我的代码:

  

代码当然是我特定问题的示例代码 – 稍后它应该只是一个包装面板(或任何其他控件),以编程方式添加项目(这是自定义控件)(如“WrapPanel1.Children.Add(r)” ;“)。 我希望这些图片不言自明。

您正在寻找的是级联布局。它在javascript中有一个非常流行的实现,称为Masonry ,它有一个WPF对应的WPF-Masonry .check,前面有详细信息和演示链接。