如何在WPF中为TranslateTransform和ScaleTransform设置动画

时间:2015-07-21 19:59:43

标签: c# wpf storyboard doubleanimation

我试图在代码隐藏中使用TranslateTransform同时为ScaleTransform的{​​{1}}和Rectangle设置动画。我研究了一些类似的问题,但我还有一些问题,我仍然坚持第一步。

StoryBoard

2 个答案:

答案 0 :(得分:5)

在XAML中,为矩形赋予TransformGroup:

<Rectangle x:Name="MyRectangle" Width="100" Height="100" Fill="Chartreuse">
    <Rectangle.RenderTransform>
        <TransformGroup>
            <ScaleTransform x:Name="rectScale"/>
            <TranslateTransform x:Name="rectTrans"/>
        </TransformGroup>
   </Rectangle.RenderTransform>
</Rectangle>

在代码隐藏中,在变换上使用BeginAnimation方法:

rectScale.BeginAnimation(ScaleTransform.ScaleXProperty, scale_x);
rectScale.BeginAnimation(ScaleTransform.ScaleYProperty, scale_y);
rectTrans.BeginAnimation(TranslateTransform.XProperty, translate_x);
rectTrans.BeginAnimation(TranslateTransform.YProperty, translate_y);

答案 1 :(得分:0)

如果 rectScale.BeginAnimation() 不起作用,请尝试 rectScale.RenderTransform.BeginAnimation(ScaleTransform.ScaleXProperty, scale_x);