3

我正在使用 .NET 4 WPF DataGrid 并注意到在使用大量列时垂直滚动性能不佳。这是我为测试它所做的:

  1. 启用虚拟化(VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling")
  2. 将 DataGrid 嵌入到简单的 Grid 布局中,此窗口中没有其他控件
  3. 这些列没有自定义格式,没有图像 - 只是简单的文本
  4. 我正在一台非常好的计算机上运行。win7(64 位)在四核 3.2gz 上,带有 8gb ram 和 radeon 7800 系列卡
  5. 使用 Perforator 进行的测试不会显示任何不好的东西,例如软件渲染等

以下是一些结果:

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

当我有大量列(~75 - 100)时,我能做些什么来提高垂直滚动性能?

谢谢

4

1 回答 1

5

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

启用它们,看看是否有区别。它应该有帮助。

我有大约 20 列左右,大约 2,500 行,我没有看到性能问题,但 75 列肯定看起来很多。您可能想研究在标题中添加右键单击启用/禁用列(类似于 excel)。

于 2012-07-08T00:39:08.493 回答