WPF 列表开启虚拟化的方式

正确开启虚拟化的方式

列表如ListBox,ListView,TreeView,GridView等,开启虚拟化

ScrollViewer设置CanContentScroll=True

直接在模板中,设置CanContentScroll="True"

如模板中未设置CanContentScroll属性,可以在列表添加属性ScrollViewer.CanContentScroll="True"。

注意:如果在模板中设置CanContentScroll="False",然后在列表中设置附加属性ScrollViewer.CanContentScroll="True",结果是无法设置成功的!究其原因,是附加属性无法更改原本已经设置了的属性值。

VirtualizingPanel.IsVirtualizing="True" 

其它无法开启虚拟化的原因

列表样式中,设置了OverridesDefaultStyle=“True”。---覆盖了默认样式

列表模板ControlTemplate中,ItemsPresenter之上没有ScrollViewer这一容器

虚拟化其它注意点

滚动单元设置。VirtualizingPanel.ScrollUnit="Pixel" 像素滚动,比VirtualizingPanel.ScrollUnit="Item"物理单元滚动,列表的滚动范围更小。

VirtualizationMode创建可见项的项容器。VirtualizingStackPanel.VirtualizationMode="Recycling",列表绑定大数据时,显示的速度和流畅性,稍微比VirtualizationMode="Standard"快那么一点。

      

关键字:虚拟化

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsyjw.html