Silverlight 如何从可视化树中获取xaml中描述的变换矩阵

Silverlight 如何从可视化树中获取xaml中描述的变换矩阵,silverlight,xaml,Silverlight,Xaml,例如,我有一些xaml <Path Name="path3" RenderTransform="0.476026892662048,0,0,0.476026892662048,485.101623535156,-68.1086807250977" /> 在我的代码中,我从xaml(XamlReader.Load(xaml))构造可视化树。执行此操作后,我需要返回变换矩阵,但属性(path.RenderTransform as MatrixTrasform)。矩阵没有在xaml

例如,我有一些xaml

 <Path Name="path3" RenderTransform="0.476026892662048,0,0,0.476026892662048,485.101623535156,-68.1086807250977" />

在我的代码中,我从xaml(XamlReader.Load(xaml))构造可视化树。执行此操作后,我需要返回变换矩阵,但属性
(path.RenderTransform as MatrixTrasform)。矩阵
没有在xaml中定义的值(此属性中的值类似于1,0,0,1,0,1)


如何获取转换矩阵?

Xaml应该如下所示:-

<Path Name="path3" Data="Path data here">
    <Path.RenderTransform>
        <MatrixTransform Matrix="0.476026892662048,0,0,0.476026892662048,485.101623535156,-68.1086807250977" />
    </Path.RenderTransform>
</Path>


您发布的Xaml无效。这可能是您得到的默认矩阵的原因。那是你真正的Xaml吗?最好在用户控件中测试它,看看VisualStudio是否抛出错误。VisualStudio不抛出错误。并将变换应用于路径。在设计器中,路径显示正确。VisualStudio应该在它下面加上红色下划线并给出一个错误(我的错误)。不管怎么说,还是接受AnthonyWJones的建议吧。Xaml不是我的。我不能修改它。我需要在RenderTransform属性中定义矩阵时进行处理。为什么当矩阵在属性中定义时,我无法获得有关矩阵的信息(正确应用转换,设计器不会抛出错误)?@Alex:您不能修改它,也不能解析它。我得说你有麻烦了。不管设计者可能在做什么,事实是从silverlight XamlParser的角度来看,Xaml是无效的。若您不能在源代码处修改它,那个么您可能可以编写一些跳环字符串操作代码来将其冲压成形。然而,由于源代码显然不理解正确的Silverlight xaml(源代码是否面向WPF?),那么您可能会遇到其他问题,然后是其他问题。。。这听起来像是一个痛苦的世界。