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

問題は、空の Image.RenderTransform TransformGroup を XAML に追加する必要があることでした。

       <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 に答える