2009-10-06 35 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。