我有一个故事板,我正在其中使一个矩形向上移动,就像 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
财产。
如果您不熟悉我在上面的代码中使用的数据绑定,您可能需要查看overview http://msdn.microsoft.com/en-us/library/ms752347.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)