我有一个DataGrid,其中设置了一个DataTable作为其ItemsSource。该DataTable拥有24列和约1600行(实际上我稍后将需要加载更多的行数,但目前这已经够麻烦的了)。
尽管启用了列和行的虚拟化,但DataGrid仍需要大约30秒才能显示这些1600行。之后,垂直滚动工作正常,水平滚动则有些卡顿,尽管你期望的情况应该是相反的。
如果我运行内存分析器,我可以验证应用程序使用的大部分内存来自DataGridCells、Borders、ContentPresenters和Textblocks。对我来说,这表明该网格没有正确地虚拟化其行。
有人可以确认DataGrid的虚拟化存在问题吗?或者这个控件的实现中是否存在某种臭名昭著的陷阱?
期待任何形式的输入/建议。谢谢 :)
尽管启用了列和行的虚拟化,但DataGrid仍需要大约30秒才能显示这些1600行。之后,垂直滚动工作正常,水平滚动则有些卡顿,尽管你期望的情况应该是相反的。
如果我运行内存分析器,我可以验证应用程序使用的大部分内存来自DataGridCells、Borders、ContentPresenters和Textblocks。对我来说,这表明该网格没有正确地虚拟化其行。
有人可以确认DataGrid的虚拟化存在问题吗?或者这个控件的实现中是否存在某种臭名昭著的陷阱?
期待任何形式的输入/建议。谢谢 :)