【问题标题】:Animate property in code behind在后面的代码中设置动画属性
【发布时间】:2014-07-07 19:08:29
【问题描述】:

假设我有财产

public double MyProp{get;set;}

如何使该属性在 1 秒内从 0 变为 100?我试过这样的事情:

DoubleAnimation animation = new DoubleAnimation(0, 100, TimeSpan.FromSeconds(1));
animation.BeginAnimation(MyProp, ???);

编辑

在我看来,我有:

<Image Name="ImgCompassPointer" Source="somePath" RenderTransformOrigin=".5,.5">
        <Image.RenderTransform>
            <TransformGroup>                    
                <RotateTransform Angle="{Binding MyProp}"/>
            </TransformGroup>
        </Image.RenderTransform>
</Image>

每当我为要为其设置动画的角度设置新值时。我怎样才能在后面的代码上做到这一点?

注意

如果我在哪里设置高度动画,那么我将能够执行以下操作:

 DoubleAnimation animation = new DoubleAnimation(0, 100, TimeSpan.FromSeconds(1));
 ImgCompassPointer.ImgCompassPointer.BeginAnimation(Image.HeightProperty, animation);

但我想不出一种方法来为旋转/角度属性设置动画

【问题讨论】:

    标签: c# wpf xaml animation


    【解决方案1】:

    你可以使用动画rotation/angle

    var doubleAnimation = new DoubleAnimation(360, 0, new Duration(TimeSpan.FromSeconds(1)));
    var rotateTransform = new RotateTransform();
    image.RenderTransform = rotateTransform;
    image.RenderTransformOrigin = new Point(0.5, 0.5);
    doubleAnimation.RepeatBehavior = RepeatBehavior.Forever;
    rotateTransform.BeginAnimation(RotateTransform.AngleProperty, doubleAnimation);
    

    【讨论】:

      猜你喜欢
      • 2011-04-15
      • 2023-04-08
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2012-06-01
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多