如何显示一个集合,以便所有项目一次可见并占用所有可用空间?

时间:2018-01-10 09:52:16

标签: c# .net wpf

我目前正在开发一个幻灯片显示器,它应该能够在网格中显示所有图像。但是,此显示器具有以下要求:

  • 它应该显示所有项目而不必滚动;
  • 它应该能够很好地处理调整大小(就像Grid控件那样);

我正在使用ListBox,其ItemPanel设置为WrapPanel或UniformGrid,但它们不符合要求:Wrap Panel不会调整其项目的大小以填充所有可用空间; UniformGrid越来越接近所需的结果,但仍然在最后一行的末尾留下一个空的空格(即它只应该在它可以完全填充它时添加一行)

因此,我正在寻找一种设置UniformGrid的方法,以便最后没有留下“空白”。

作为一个例子,假设我的收藏中有三个项目,而实际的空间则将它们全部放在一行中;网格仍将为第三行创建另一行。

我也对涉及其他控件的问题的解决方案持开放态度,只要他们在项目大小调整上有类似的行为并且仍然一次显示所有项目。

由于

1 个答案:

答案 0 :(得分:0)

我们最终决定在项目之间使用可变宽度的简单包装,并且如果有太多项目则只需要滚动。