2009-10-06 6 views
9

Jak zrobić płynną animację. Mam kod jak poniżej.Jak uzyskać lepszą animację za pomocą kodu w 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); 

Działa, ale nie jest wystarczająco gładki. Jak zrobić to płynnie?

Dzięki,

Odpowiedz

11

Aby to zrobić w kodzie, należy użyć metody Timeline.SetDesiredFrameRate(Timeline,int?) coś takiego:

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

Przechodząc null dla drugiego argumentu informuje system kontrolowania szybkości odtwarzania.

+0

Wielkie dzięki Drew .. – Ershad

+1

Dla mnie ustawienie 'Timeline.DesiredFrameRate' na' Animation' nie działa. Musiałem zamiast tego ustawić go na mojej "Storyboard". – ghord

1

Spróbuj wyregulować załączony właściwość Timeline.DesiredFrameRate do swoich potrzeb. Wyższy współczynnik klatek zmniejsza łzawienie, które możesz zobaczyć.

+0

Dziękujemy, , ale Jak ustawić Timeline.DesiredFrameRate dla obiektu animaition/obiektu Frameorkelement. W powyższym przykładzie, jak ustawić? – Ershad

3

Jeśli używasz StoryBoard, użyj DesiredFrameRate = 30.

Powiązane problemy