当调用TransformToAncestor时,使用矩阵来构建结果GeneralTransform?当我进入pdb时,我看到的是一个带有签名的TransformField:
private static readonly UncommonField<Transform> TransformField = new UncommonField<Transform>();
在结果GeneralTransform中使用
答案 0 :(得分:2)
没有什么比反射器好。特别是虽然它仍然是免费的;)
代码很毛茸茸,但可以遵循。基本上它走在视觉树上并对变换进行分组,但整个事情要复杂得多,我从来没有真正有兴趣深入挖掘它。查看Visual.TrySimpleTransformToAncestor以获取血腥细节。
要回答这个问题,UIElement当然不会被明确使用;变换是通过一个效果(你提到的UncommonField)检索的,所以我猜测变换通常被应用为效果,因此你可以从任何地方通过这个快捷方式获得它们,但这只是基础设施和实现细节而且我是最有可能的错误:)