我有一个使用以下链接虚拟化的包装面板:
http://virtualwrappanel.codeplex.com/
我已经在顶部实现了拖放...但是,当我向下拖动项目时,我使用方法LineUp()和LineDown()向下移动包裹面板。由于虚拟化,这种转换看起来非常不稳定而且不好......在这种情况下是否可以实现平滑滚动? 感谢
答案 0 :(得分:0)
由于复杂的可视化树或生成它们需要昂贵的代码,因此您虚拟化的项目可能非常昂贵。尝试测试相同数量的项目,但使用非常简单的显示,请说TextBlock
Text="foobar"
。这应该顺利滚动 - 至少对我来说。
因此,为了调试您的效率问题,您可以查看WPF性能套件和Visual Studio性能分析器(或类似的第三方工具)。 WPF performance suite将缩小问题的一般范围(是实际呈现代码吗?或者调度程序是否被阻塞?)VS性能分析器将帮助您在自己的代码中找到简化的区域是问题。如果渲染是问题,降低可视树复杂性将解决问题。