1

我正在尝试在 DesignSurface 上实现缩放功能,它使用基于 .Net 2 的 Designer 时间架构。我有两种方法来处理 ZoomChanged 事件:

  1. 卸载设计图面并重新加载缩放内容。
  2. 识别受影响的属性并将它们设置为属性的缩放值。

问题:
在方法 1 中,卸载和重新加载对于运行时来说是一项相当大的任务,并且会卸载和重新加载许多不受缩放更改影响的属性。

在方法 2 中,被更改的属性会引发大量 PropertyChanged 事件并执行相关处理程序,这会使响应非常缓慢。如果我想取消订阅并重新订阅所有事件处理程序,我将没有任何一个地方可以这样做,因为它跨越了许多依赖组件。

有人来救吗?

4

0 回答 0