WPF Wrap面板以什么方式慢,我们需要虚拟包装面板

时间:2009-05-11 09:32:53

标签: wpf wrappanel

我听说很多关于包装面板加载速度较慢的问题,因此我们需要一个虚拟化面板。

有人可以给我一个小的包装样板,可以证明装载速度较慢,需要一个虚拟化面板。

我将一个包装面板设置为列表框的面板控件,并向其添加了10000个字符串对象,这不是问题。我确信我的样本很愚蠢,也许我必须编写一个业务对象并创建一个更大的数据模板才能看到这个问题。

请告诉我一个样本,证明没有虚拟化的包装面板速度较慢。

感谢。

2 个答案:

答案 0 :(得分:3)

我认为性能问题主要取决于树中可视对象的数量。

默认的ListBoxItem模板由少量元素组成(我认为是边框和文本块)。如果你有一个模板创建一个复杂的可视化,每个项目可以说100个视觉元素,你会得到相当多的视觉效果,具体取决于你的项目数量。

这就是普通面板在加载时较慢的原因,因为它必须在启动时创建所有对象,而虚拟化版本只为可见项创建视觉效果并且不再显示视觉效果。

此外,这也会影响内存使用

答案 1 :(得分:0)

我最近在制作插入符号表单时需要此功能。使用带有普通包装面板的列表框作为项目面板 - 加载时间最多需要5秒。