暂停动画。另外,得到它的位置

时间:2011-06-02 04:32:31

标签: c# wpf

我有一个矩形,我正在使用故事板将其旋转,就像汽车仪表(mph)中的针一样。我想做的是能够暂停它。此外,我还想在我想要的时候得到它的位置。就像将其当前值旋转到我指定的最终位置一样。可以这样做吗?

我想做的是用它来计算转速计并根据mph故事板移动转速表针。

 DoubleAnimation da = new DoubleAnimation();
        da.From = 0 * 6;
        da.To = 60;
        da.Duration = new Duration(TimeSpan.FromSeconds(5));

        RotateTransform rt = new RotateTransform();
        rt.CenterX = 35;
        rt.CenterY = 0;
        rec3.RenderTransform = rt;
        rt.BeginAnimation(RotateTransform.AngleProperty, da);




        DoubleAnimation tack = new DoubleAnimation();
        tack.From = 0 * 6;
        tack.To = 30;
        tack.Duration = new Duration(TimeSpan.FromSeconds(5));
        RotateTransform tackneedle = new RotateTransform();
        tackneedle.CenterX = 30;
        tackneedle.CenterY = 0;
        rec4.RenderTransform = tackneedle;
        tackneedle.BeginAnimation(RotateTransform.AngleProperty, tack);

2 个答案:

答案 0 :(得分:0)

您可以将动画添加到故事板,以便您暂停和恢复动画。您还应该能够访问旋转变换并获取其中心的值。

答案 1 :(得分:0)

另一种方式可能更合适:

创建一个计算/生成值的类。

将针绑定到该值(如果需要,使用值转换器从数量到角度)

通过这种方式,您可以更轻松地控制值,并且可以通过暂停值的生成来停止动画。

你必须考虑你需要什么:你需要知道动画的价值还是指针跟随/显示价值?