我注意到在ShowGridLines上启用Grid会对性能造成巨大影响。

我在Grid中有一个ScrollViewer。当我手动滚动时,应用程序运行正常。但是,如果我以编程方式滚动并使用计时器平滑滚动,则打开ShowGridLines时它将运行非常慢。

关闭ShowGridLines时,滚动将在不到预期的1/2秒内完成。启用ShowGridLines时,滚动需要2到5秒的时间,并且会出现意想不到的颠簸。

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

最佳答案

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

From the documentation:


  启用网格线会在所有元素周围创建虚线
  在网格内。仅虚线可用,因为此属性
  旨在用作调试布局问题的设计工具,并非旨在
  适用于生产质量代码。如果你想要里面的线
  在网格中,将网格中的元素设置为具有边框的样式。

关于c# - 为什么ShowGridLines这么慢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17633397/

10-09 03:26