WPF之UI虚拟化

在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

上一篇:POJ 1661 Help Jimmy DP


下一篇:在启动php时,无法启动此程序,由于计算机中丢失MSVCR110.dll的解决方法