为什么ShowGridLines这么慢?

Aus*_*ley 3 .net c# wpf performance

我注意到启用ShowGridLinesa Grid会导致巨大的性能损失.

我有Grid一个ScrollViewer.当我手动滚动时,应用程序运行正常.但是,如果我以编程方式滚动,使用计时器顺利滚动,它运行非常慢ShowGridLines.

ShowGridLines 关闭,滚动在小于1/2的第二完成按预期方式.随着ShowGridLines ,滚动需要2-5秒,抽搐不可预知.

为什么会ShowGridLines造成这样的性能损失?手动滚动时为什么不这样做?有没有解决的办法?

Ben*_*ale 6

ShowGridLines属性未针对运行时进行优化,因为它仅用作设计时工具.

从文档:

启用网格线会在网格中的所有元素周围创建虚线.只有虚线可用,因为此属性旨在用作调试布局问题的设计工具,不适用于生产质量代码.如果您想要网格内的线条,请将网格中的元素设置为具有边框.