c# - 获取双动画的当前值

标签 c# wpf animation

我有一个 Storyboard,我在其中制作一个矩形,就像 MPH 汽车仪表中的针一样向上移动。所以,我让它从 0 变为 60,我希望能够在它变化时获得它的当前值,这样我就可以使用该值来制作数字仪表。

如何获取双动画从头到尾的当前值?我有这样的东西:

DoubleAnimation da = new DoubleAnimation();
da.Duration = new Duration(TimeSpan.FromSeconds(5));
da.From = 0;
da.To = 60;
RotateTransform rt = new RotateTransform();
rt.CenterX = 35;
rt.CenterY = 0;
rec3.RenderTransform = rt;
rt.BeginAnimation(RotateTransform.AngleProperty, da);

当它向上旋转矩形时,我试图获得那个角度,但它只是返回零。

最佳答案

你一定做错了什么,考虑这个例子:

<Rectangle Width="100" Height="10" Fill="Red" HorizontalAlignment="Left" RenderTransformOrigin="1,0.5">
    <Rectangle.RenderTransform>
        <RotateTransform x:Name="rt" />
    </Rectangle.RenderTransform>
</Rectangle>
<TextBlock Text="{Binding ElementName=rt, Path=Angle}" />
rt.BeginAnimation(RotateTransform.AngleProperty, new DoubleAnimation(0, 60, TimeSpan.FromSeconds(1), FillBehavior.HoldEnd));

它显示的值很好。


如果您将 rt.Angle 分配给某个变量,该变量将在该时间点具有变换角度的值,它将不会更改同时rt.Angle 属性。

如果您不熟悉我在上面代码中使用的数据绑定(bind),您可能需要查看 overview .

关于c# - 获取双动画的当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6244634/

相关文章:

c# - 在 C# 中获取当前月份数的最佳方法

c# - 使用进程的实时控制台输出重定向

c# - 确定在 WPF 网格上单击了哪个单元格的方法?

javascript - 检查页面何时加载以及打开动画何时完成

c# - 如何正确解密 C#.NET 中的 RSA 数据?

c# - 如何禁止用户在 WFFM (sitecore) 中使用自定义电子邮件操作附加大文件?

c# - 绑定(bind)ListView不绑定(bind)

c# - 右侧模糊的 WPF 列表框边框

flutter snackbar 动画和滑动

java - 使用线程管理 Sprite 动画