2009-10-06 34 views
9

我们如何做平滑的动画。 我的代码如下。如何通过WPF中的代码使动画更流畅?

ThicknessAnimation anima = 
    new ThicknessAnimation(new Thickness(0), new Thickness(0, 25, 0, 0), 
     new Duration(new TimeSpan(0, 0, seconds)), FillBehavior.HoldEnd);     

pdRod.BeginAnimation(Border.MarginProperty, anima); 

它的工作,但不够流畅。 如何平滑?

感谢,

回答

11

在代码中做到这一点,你可以使用Timeline.SetDesiredFrameRate(Timeline,int?)方法,像这样:

ThicknessAnimation anim = ...; 
Timeline.SetDesiredFrameRate(anim, 60); // 60 FPS 

的第二个参数传递null告诉系统来控制帧速率。

+0

非常感谢Drew .. – Ershad 2009-10-09 04:13:23

+1

对于我在'Animation'上设置'Timeline.DesiredFrameRate'不起作用。我不得不将其设置在我的'Storyboard'上。 – ghord 2014-12-31 08:53:34

1

尝试将附加属性Timeline.DesiredFrameRate调整您的需求。更高的帧率将减少你可能看到的撕裂。

+0

谢谢, 但 如何为动画对象/ Frameorkelement对象设置Timeline.DesiredFrameRate。在上面的例子中,如何设置? – Ershad 2009-10-06 11:34:18

3

如果您使用的是StoryBoard,请使用DesiredFrameRate = 30。