Resources and guides to UI virtualization in WPF

2019-01-22 03:51发布

问题:

UI Virtualization is an awkward terminology that describes WPF UI controls that load and and dispose child elements on demand (based on their visibility) to reduce memory footprint. ListBox and ListView use a class called VirtualizingStackPanel by default to achieve higher performance.

I found this control, which is really helpful, a virtualized canvas which produces a scrollable Canvas object that manages its children with a quadtree. It produces some great results and can easily be tweaked to your needs.

Are there any other guides or sample wpf controls that deal with this issue? Maybe generic one's that deal with dynamic memory allocation of gui objects in other languages and toolkits?

回答1:

Dan Crevier has a small tutorial on building a VirtualisingTilePanel.

Ben Constable has written a tutorial on IScrollInfo, which is an essential part of the virtualisation: Part 1, Part 2, Part 3 and Part 4.