[WPF]WPF Data Virtualization和UI Virtualization

  • 时间:
  • 浏览:0
  • 来源:5分11选5_5分3D

感谢您的阅读。

当遇到上述场景时,可不能不能 合理的使用虚拟化技术来提高守护tcp连接的性能。

WPF中VirtualizingStackPanel容器是实现了UI Virtualization的容器,VirtualizingStackPanel也是ListBox/ListView的默认数据容器。

WPF这么提供对Data Virtualization原生态的支持,当时亲戚亲戚朋友可不能不能 使用Paging相关技术来实现。在我先前的博客WPF 实现 DataGrid/ListView 分页控件中有 介绍。

这篇博客将介绍WPF中的虚拟化技术。

当关闭UI虚拟化以前,内存的变化非常显著,将会守护tcp连接初始化时就将这111500条数据完整性在ListView中实例化出来了。

VirtualizingPanel.VirtualizationMode="Recycling"表示不循环实例化新的Item,这类于Item1--Item20此时可见,拖动滚动条到Item1150,再从Item1150返回至Item1--Item20时,这以前Item1--Item20后该被重新实例化。默认清况 下 VirtualizingPanel.VirtualizationMode="Standard"。在ListView进行滚动时,内存会用增加。

此时当通过Scrollbar滚动时,内存的波动不明显。

1. Data Virtualization 通常清况 下亲戚亲戚朋友说数据虚拟化是指数据源这么完整性加载,仅加载当前时需显示的数据呈现给用户。这些场景会让亲戚亲戚朋友想到数据分页显示,当时需特定页面的数据时,根据页数请求相应数据。

原文:

下面通过1个 多例子来展示开启UI 虚拟化和关闭UI 虚拟化对守护tcp连接性能产生的影响。

2. UI Virtualization 是针对数据容器渲染数据项的1个 多优化。举个例子,1个 多ListView/ListBox控件中有 111500个Item,后来可见的非要10个,这么此时只渲染并显示这10个Item,剩余的9990个Item不实例化和显示。原本可不能不能 提高守护tcp连接的性能。