WPF .NET 4 DataGrid列性能

时间:2012-07-07 23:08:00

标签: wpf performance datagrid

我正在使用.NET 4 WPF DataGrid,并且在使用大量列时注意到垂直滚动性能不佳。以下是我对此进行测试的方法:

  1. 启用虚拟化(VirtualizingStackPanel.IsVirtualizing =“True”VirtualizingStackPanel.VirtualizationMode =“回收”)
  2. 将DataGrid嵌入到简单的网格布局中,此窗口中没有其他控件
  3. 列没有自定义格式,没有图片 - 只是简单的文字
  4. 我在一台非常好的电脑上运行。 win7(64位)四核3.2gz,8gb ram和radeon 7800系列卡
  5. 使用Perforator进行的测试不会显示软件渲染等不良内容
  6. 以下是一些结果:

    • 100行x 5列:平滑滚动
    • 100,000行x 5列:平滑滚动
    • 100行x 75列:非常差的滚动性能
    • 100,000行x 75列:完全冻结

    当我有大量列(~75 - 100)时,如何提高垂直滚动性能?

    由于

1 个答案:

答案 0 :(得分:5)

您缺少两个非常重要的属性:

启用它们并查看是否有所作为。它应该有所帮助。

我有大约20个左右的列,大约有2,500行,我没有看到性能问题,但75列绝对看起来很多。您可能需要调查在标题中添加右键单击启用/禁用列(类似于excel)。