0

我想为这个 ScaleTransform 制作动画

       <Image x:Name="photoB" Height="290"  Width="420" Stretch="Uniform" RenderTransformOrigin="0.5,0.5" >
             <Image.RenderTransform>
                <TransformGroup>
                    <ScaleTransform ScaleY="40" ScaleX="40"/>
                    <SkewTransform/>
                    <RotateTransform/>
                    <TranslateTransform/>
                </TransformGroup>
            </Image.RenderTransform>
       </Image>

问题是我找不到让 WPF 满意的 TargetProperty!

我试过像

Storyboard.SetTargetProperty(kenBurnsAnimationA, new PropertyPath("(Image.RenderTransform)[0].ScaleTransform.ScaleX"));

Storyboard.SetTargetProperty(kenBurnsAnimationA, new PropertyPath("ScaleTransform.ScaleX"));

Storyboard.SetTargetProperty(kenBurnsAnimationA, new PropertyPath("(Image.RenderTransform.TransformGroup.ScaleTransform.ScaleX"));

但似乎没有任何效果。

XAML 的 C#“代码隐藏”的秘密是什么?

4

2 回答 2

1

试试(Image.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)

于 2013-01-24T01:33:06.850 回答
0

问题是我需要向我的 XAML 添加一个空的 Image.RenderTransform TransformGroup

       <Image x:Name="photoA" Height="290"  Width="420" Stretch="Uniform" RenderTransformOrigin="0.5,0.5" >
            <Image.RenderTransform>
                <TransformGroup>
                    <ScaleTransform />
                    <SkewTransform/>
                    <RotateTransform/>
                    <TranslateTransform/>
                </TransformGroup>
            </Image.RenderTransform>
        </Image>

如果它们不存在,您将无法为它们设置动画!我想我也可以从 C# 添加传输组。

感谢@Anton Tykhyy 为我指出正确的路径。

于 2013-01-24T02:59:05.157 回答