是否有一种WPF虚拟化替代方案,其中所有项的容器都会生成(因此会评估绑定),但在不可见时会折叠(因此不会产生渲染/布局开销)?
虚拟化意味着不会为不在视图中的项生成容器。然而,我需要一些额外的功能,这是由项目容器中的一些(附加的)依赖属性触发的。我分析了禁用虚拟化的应用程序,发现主要的瓶颈是布局过程和渲染。开启虚拟化后,性能会显著提高,但不出所料,对于不在视图中的项,绑定不会更新。
我的想法是有一个替代的ScrollViewer,它可以自动折叠所有不在视图中的项目(并使它们在视图中再次可见),但仍然在预期的位置(以及预期的高度)显示拇指。
有没有人知道现有的解决方案?
发布于 2015-08-13 18:09:46
解决这个问题的最好方法是依靠MVVM模式。所有依赖项都将在模型/视图模型上管理,而不是在视图端的上管理。
https://stackoverflow.com/questions/31985193
复制相似问题