我正在使用WPF数据网格(.Net或Toolkit),绑定到可观察集合时速度慢得无法接受。它包含大约3500行和10列,并花费一分钟时间来显示内容。所有事情都指出了这样一个事实,即它没有对数据进行UI虚拟化。但是,我不明白为什么会这样。我不使用分组。我不使用分组。 我已经确定网格的高度包含在一个固定高度的面板中。 我已经在DataGrid上设置了所有虚拟化属性。 我已经在snoop中进行了检查并设置了这些属性。但是,snoop还显示加载之后,可视树中有数千个数据列。这是否是使用snoop引起的事情,我不知道。 我尝试过使用AQTime来了解发生了什么。减速似乎不在我们的代码中,而是在系统代码中。但是,我找不到一种轻松查看WPF是否合适的方法。 我已经剥离了网格并尝试了.Net 4 DataGrid和工具包DataGrid。显示最初数据的速度都非常缓慢。 我曾尝试修复行高和列宽。这也没有区别。调试WPF DataGrid虚拟化问题
我该如何确认虚拟化是否开启以及是否关闭它为什么关闭? 如何调试我们的代码之外发生的事情?有什么方法可以看到WPF是什么? (我尝试过使用WPF性能套件,但出于某种原因,它不会为我们的应用程序提供任何输出)。
我正在用尽想法。当UI中只有10行可见时,它不应该这么慢。
任何人都可以帮忙吗?
也许'ScrollViewer.CanContentScroll = false'?请参阅[为什么将ScrollViewer.CanContentScroll设置为false禁用虚拟化](http://stackoverflow.com/q/3724593/620360)。 – LPL 2012-07-07 17:28:01
非常感谢!这是原因。 – 2012-07-09 07:57:41
我已将我的评论添加为答案,以便可以关闭此问题。 – LPL 2012-07-09 09:13:21