Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 暂停动画。另外,要得到它的位置_C#_Wpf - Fatal编程技术网

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

C# 暂停动画。另外,要得到它的位置,c#,wpf,C#,Wpf,我有一个矩形,我用故事板把它旋转起来,就像汽车仪表上的指针一样。我想做的是能够暂停它。此外,我还想得到它的位置时,我想。比如,当它旋转到我指定的结束位置时,得到它的当前值。这能做到吗 我想做的是用它来计算转速表,并根据mph故事板移动转速表指针 DoubleAnimation da = new DoubleAnimation(); da.From = 0 * 6; da.To = 60; da.Duration = new Duration(Ti

我有一个矩形,我用故事板把它旋转起来,就像汽车仪表上的指针一样。我想做的是能够暂停它。此外,我还想得到它的位置时,我想。比如,当它旋转到我指定的结束位置时,得到它的当前值。这能做到吗

我想做的是用它来计算转速表,并根据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);

您可以将动画添加到情节提要中,这样可以暂停和恢复动画。您还应该能够访问旋转变换并获取其中心的值。

另一种方法可能更合适:

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

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

这样,可以更轻松地控制值,并且始终可以通过暂停值的生成来停止动画

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