我有一个使用以下链接虚拟化的包装面板:
http://virtualwrappanel.codeplex.com/
但是,我已经实现了拖放操作……但是,当我向下拖动项目时,我正在使用LineUp()和LineDown()方法向下移动环绕面板。由于虚拟化,这种过渡看起来非常混乱而且不好。。。在这种情况下是否可以实现平滑滚动?
谢谢
最佳答案
您正在虚拟化的项目很可能渲染起来非常昂贵,这可能是由于复杂的可视化树或因为生成它们所需的代码昂贵。尝试测试相同数量的项目,但显示非常简单,例如TextBlock
和Text="foobar"
。这应该为您顺利滚动-至少对我来说如此。
因此,要调试效率问题,您可以看一下WPF性能套件和Visual Studio性能分析器(或类似的第三方工具)。 WPF performance suite将缩小问题的总体范围(是实际的渲染代码吗?还是Dispatcher阻塞了?),而VS性能分析器将帮助您找到自己代码中需要精简的区域。问题。如果存在渲染问题,那么降低视觉树的复杂性将解决此问题。
关于c# - 在wrappanel WPF中使用虚拟化可以顺利滚动吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10691138/