在我们当前的WinForms应用程序中,我们使用虚拟化显示数百万的记录在ListView中。行在被请求时从数据库加载。这个方法运行良好,性能也很好。
对于我们来说,这是迁移到WPF的障碍。我们需要一个像WinForms 2.0中那样在ListView中进行数据虚拟化的功能。
您是否了解一些像样的第三方控件或相对容易使用的内置控件的方法?它不必是DataGrid,一个简单的ListView就足够了。
请注意,我不是在谈论UI虚拟化,而是数据虚拟化。
在我们当前的WinForms应用程序中,我们使用虚拟化显示数百万的记录在ListView中。行在被请求时从数据库加载。这个方法运行良好,性能也很好。
对于我们来说,这是迁移到WPF的障碍。我们需要一个像WinForms 2.0中那样在ListView中进行数据虚拟化的功能。
您是否了解一些像样的第三方控件或相对容易使用的内置控件的方法?它不必是DataGrid,一个简单的ListView就足够了。
请注意,我不是在谈论UI虚拟化,而是数据虚拟化。
这是来自Xceed的WPF终极列表框的描述:
智能虚拟化后台数据检索:
只有可见记录才会从远程数据源中获取(数据虚拟化)的自动数据检索。这大大减少了要传输的数据量,增加了列表框的感知速度。同时也减轻了服务器的负担。
在XAML中的listview声明中添加以下属性即可。
<ListView
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
VirtualizingPanel.VirtualizationMode="Recycling"
ScrollViewer.IsDeferredScrollingEnabled="True" >
</ListView>