【问题标题】:WPF Data virtualizing ListViewWPF数据虚拟化ListView
【发布时间】:2009-06-11 13:23:15
【问题描述】:

在我们当前的 WinForms 应用程序中,我们使用虚拟化在 ListView 中显示数百万条记录。根据请求从数据库加载行。这很好用,性能很好。

这对我们来说是迁移到 WPF 的一大亮点。我们需要 ListView 中的数据虚拟化,就像 WinForms 2.0 一样。

您是否知道一个不错的第三方控件,或者使用内置控件的相对简单的方法?它不需要是 DataGrid,一个简单的 ListView 就足够了。

注意,我说的是 UI 虚拟化,它是数据虚拟化。

【问题讨论】:

  • 从用户体验的角度来看:用户是否从能够滚动数百万行中受益?他们不是总是只对搜索结果中的前几个(一百个)项目感兴趣吗?

标签: wpf performance listview virtualization


【解决方案1】:

WPF Data Virtualization 的文章应该正是您要找的,我只是很容易地实现了它,并且它有效。

【讨论】:

【解决方案2】:

Xceed DataGrid for WPF 支持数据虚拟化。

【讨论】:

    【解决方案3】:

    这是来自 Xceed 的 Ultimate ListBox for WPF 的描述:

    智能虚拟化后台数据检索:

    自动数据检索仅从远程数据源获取可见的记录(数据虚拟化)。这大大减少了要传输的数据量,从而提高了列表框的感知速度。也减少了服务器的压力。

    【讨论】:

      【解决方案4】:

      只需在 XAML 中的列表视图声明中添加以下属性。

      <ListView 
            VirtualizingPanel.IsVirtualizing="True"
            VirtualizingPanel.IsVirtualizingWhenGrouping="True"
            VirtualizingPanel.VirtualizationMode="Recycling"
            ScrollViewer.IsDeferredScrollingEnabled="True" >
      </ListView>
      

      【讨论】:

      • "注意,我说的是 UI 虚拟化,它是数据虚拟化。”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      相关资源
      最近更新 更多