我有一个 DataGrid,它有一个 DataTable 作为它的 ItemsSource。DataTable 包含 24 列和约 1600 行(实际上我稍后将不得不加载更多行,但现在这已经够麻烦了)。
尽管为活动的列和行设置了虚拟化,DataGrid 需要大约 30 秒才能显示这 1600 行。在那之后,垂直滚动效果很好,水平滚动很慢,尽管你会期望它反过来。
如果我运行内存分析器,我可以验证应用程序使用的大部分内存来自 DataGridCells、Borders、ContentPresenters 和 Textblocks。对我来说,这表明网格没有正确虚拟化它的行。
谁能确认 DataGrid 的虚拟化存在问题?还是在执行此控制时存在某种臭名昭著的陷阱?
期待任何类型的输入/建议。谢谢 :)