我有一个包含一条多段线的PathGeometry,并且以固定的间隔向该线添加一个新点(绘制波形)。当使用穿孔器工具时,我可以看到每次我向线添加一个点,WPF将整个PathGeometry标记为“脏”,导致整个形状被重新渲染。
我希望它只会重新绘制单个像素。有什么方法可以做到这一点吗?
发布于 2013-02-22 15:07:37
简短的回答是不..
WPF在更改时弄脏整个几何体是正确的,因为它考虑到当前路径值也发生了更改的情况。
如果您将其分解,则可以使用行列表而不是path。但,
这意味着每次用户调整绘图区域的大小时,您都必须更新线条的值,以保持您的比例。
因此,要处理此问题,您可能会编写一些代码,如下所示:
“如果用户调整大小-弄脏所有行”..
另一个问题是,当您添加另一行时,
你可能想要压缩你所有的线条来适应你的绘图区域,
因此您可能会编写一些代码,如下所示:
“如果新行添加-弄脏所有行”..
现在,路径几何行为与您的迷你引擎的相似度为1:1。
如果您不需要或不想处理新行add中的大小调整或重新填充,
只需使用行列表即可。
https://stackoverflow.com/questions/14531871
复制相似问题