我正在使用 .NET 4 WPF DataGrid 并注意到在使用大量列时垂直滚动性能不佳。这是我为测试它所做的:
- 启用虚拟化(VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling")
- 将 DataGrid 嵌入到简单的 Grid 布局中,此窗口中没有其他控件
- 这些列没有自定义格式,没有图像 - 只是简单的文本
- 我正在一台非常好的计算机上运行。win7(64 位)在四核 3.2gz 上,带有 8gb ram 和 radeon 7800 系列卡
- 使用 Perforator 进行的测试不会显示任何不好的东西,例如软件渲染等
以下是一些结果:
- 100 行 x 5 列:平滑滚动
- 100,000 行 x 5 列:平滑滚动
- 100 行 x 75 列:滚动性能非常差
- 100,000 行 x 75 列:完全冷冻
当我有大量列(~75 - 100)时,我能做些什么来提高垂直滚动性能?
谢谢