【发布时间】:2020-08-14 13:09:18
【问题描述】:
AdornerLayer.Update() 和 AdornerLayer.Update(UIElement) 之间究竟有什么区别?
据我了解,每个 ui 元素只有一个装饰层,您可以通过 AdornerLayer.GetAdornerLayer(Visual) 获得。我能看到的唯一区别是每个 ui 元素是否没有装饰层。例如,如果我有以下可视化树:
UIElement1
-> UIElement2
-> UIElement3
然后不知何故UIElement2 和3 没有自己的装饰层,而是使用UIElement1 的装饰层。然后Update() 会更新UIElement1、2 和3 的所有装饰器,而Update(UIElement) 只会更新相应ui 元素的装饰器。
那么,当 UI 元素有自己的装饰层时,以及它使用可视树中较高的 UI 元素的装饰层时,条件是什么?
【问题讨论】:
-
你想达到什么目的?如果您要自定义adorner,则只需覆盖
OnRender。 -
@Sinatr 我正在尝试了解更新方法的不同之处,以提高我的装饰器的性能。