• WPF虚拟化技术(一)


     

    正确开启虚拟化的方式

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

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

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

    • 列表样式中,设置了OverridesDefaultStyle=“True”。---覆盖了默认样式
    • 列表模板ControlTemplate中,ItemsPresenter之上没有ScrollViewer这一容器

    虚拟化其它注意点

    • 滚动单元设置。VirtualizingPanel.ScrollUnit="Pixel" 像素滚动,比VirtualizingPanel.ScrollUnit="Item"物理单元滚动,列表的滚动范围更小。
    • VirtualizationMode创建可见项的项容器。VirtualizingStackPanel.VirtualizationMode="Recycling",列表绑定大数据时,显示的速度和流畅性,稍微比VirtualizationMode="Standard"快那么一点。
  • 相关阅读:
    oracle a:=100 和 b=:c 区别
    Oracle为表或字段添加备注
    oracle删除表字段和oracle表增加字段
    oracle数据库的一个表中,怎么设置字段的默认值
    VS2015密钥
    C# 调用WebApi
    OCX ClassId查看
    C++ 调用类的函数
    如何做一个标记为安全的ACTIVEX控件
    Java内存通道
  • 原文地址:https://www.cnblogs.com/xietianjiao/p/15217408.html
Copyright © 2020-2023  润新知