VirtualizingWrapPanel与分组

时间:2014-06-13 11:48:26

标签: c# wpf performance user-interface virtualization

我需要在ListBox中使用WrapPanel作为ItemsPanel提供许多元素,并使用大量项目和虚拟化。

所有内容必须看起来像Windows 8主页(带有图块),所以:

  1. 组水平放置,彼此相邻
  2. 组中的项目位于WrapPanel中,需要进行虚拟化,因为项目数量很大(大约10.000项)
  3. 项目是垂直包裹的(占据所有现有的垂直位置,而不是向右移动Orientation = Orientation.Horizontal),因此不会显示VerticalScrollBar,只有HorizontalScrollBar整个ListBox
  4. 内置WrapPanel并未附带虚拟化。

    我已经尝试了许多免费提供的“VirtualizingWrapPanels”,但它们在分组方面都不行。实际上,即使没有灌浆,它们也都没有好用,但让我们跳过它。

    您是否知道获取这些功能的任何解决方法?

1 个答案:

答案 0 :(得分:1)

我的问题比解决方法更好。我可以为您提供有关如何实施自己的VirtualizingPanel的明确解释和说明。但是,我应该警告你,尽管可能,这并非易事,需要一些时间。我使用相同的信息源实现了我自己的VirtualizingAnimatedPanel,所以当然可以这样做。

当然,这个主题太大了,无法在此处讨论,因此有关虚拟化及其实现方法的详细信息,请阅读非常有用的WPF Control Development Unleashed一书的第8章。幸运的是,我找到了本书的在线副本,所以你现在可以阅读:

WPF Control Development Unleashed