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

+1

Для меня установка 'Timeline.DesiredFrameRate' на' Animation' не работала. Я должен был установить его на своей «раскадровке». – ghord

1

Попробуйте настроить вложенное свойство Timeline.DesiredFrameRate к вашим потребностям. Более высокая частота кадров уменьшит разрыв, который вы можете увидеть.

+0

Спасибо, но Как установить Timeline.DesiredFrameRate для объекта анимации/объекта Frameorkelement. В приведенном выше примере, как установить? – Ershad

3

Если вы используете StoryBoard, используйте DesiredFrameRate = 30.

Смежные вопросы