在WPF应用程序开发过程中,大数据量的数据展现通常都要考虑性能问题。有下面一种常见的情况:原始数据源数据量很大,但是某一时刻数据容器中的可见元素个数是有限的,剩余大多数元素都处于不可见状态,如果一次性将所有的数据元素都渲染出来则会非常的消耗性能。因而可以考虑只渲染当前可视区域内的元素,当可视区域内的元素需要发生改变时,再渲染即将展现的元素,最后将不再需要展现的元素清除掉,这样可以大大提高性能。

对于ListBox,在XAML Template中加入以下属性

    ScrollViewer.CanContentScroll = "True"  // 设置内容逻辑滚动
    VirtualizingStackPanel.IsVirtualizing = "True"  // 开启虚拟化
    VirtualizingStackPanel.VirtualizationMode = "Standard"

https://msdn.microsoft.com/zh-cn/library/system.windows.controls.virtualizingpanel.aspx
WPF之路——实现自定义虚拟容器(实现VirtualizingPanel)
WPF 虚拟化 VirtualizingWrapPanel 和 VirtualLizingTilePanel

相关文章:

  • 2022-01-26
  • 2021-08-21
  • 2021-04-22
  • 2021-10-15
  • 2021-08-15
  • 2021-08-08
  • 2022-12-23
  • 2022-02-25
猜你喜欢
  • 2021-06-17
  • 2022-01-18
  • 2022-12-23
  • 2021-12-16
  • 2021-08-15
  • 2021-11-02
相关资源
相似解决方案