0

当调用 TransformToAncestor 时,使用什么矩阵来构建生成的 GeneralTransform?当步入 pdb 时,我看到的只是一个带有如下签名的 TransformField:

private static readonly UncommonField<Transform> TransformField = new UncommonField<Transform>();

在生成的 GeneralTransform 中使用

4

1 回答 1

2

没有什么能比得上反射器。尤其是在它仍然免费的时候;)

代码很繁琐,但可以遵循。基本上,它会沿着视觉树向上走并对变换进行分组,但整个事情要复杂得多,我从来没有真正有兴趣深入研究它。查看 Visual.TrySimpleTransformToAncestor 了解血腥细节。

要回答这个问题,UIElement 当然从来没有明确使用过;转换是通过一个效果(你提到的 UncommonField)检索的,所以我猜转换通常是作为效果应用的,因此你可以从任何地方通过这个快捷方式来获取它们,但这只是基础设施和实现细节,我很可能是错的:)

于 2011-03-10T19:29:07.200 回答