Tono Nam
Tono Nam

Reputation: 36080

Apply easing function to animation behind code

I managed to build my storyboard behind code. I don't know how to add easing functions though. I am looking for something like:

DoubleAnimation FadelnTBAnimation = new DoubleAnimation();
FadelnTBAnimation.To = 0;
FadelnTBAnimation.BeginTime = TimeSpan.FromSeconds(0);
FadelnTBAnimation.Duration = new Duration(TimeSpan.FromSeconds(1));
FadelnTBAnimation.EasingFunction = EasingMode.EaseInOut; // this line gives an error

How could I apply easing functions with c#?

The reason why I find useful to build the storyboard with code Is because I am applying the same animation to several objects and sometimes it does not work when I bind the target property in XAML.

Upvotes: 5

Views: 8904

Answers (3)

osborn oliver
osborn oliver

Reputation: 51

A simple way to add the easing function in your case would be to just add it to the double animation.

FadelnTBAnimation.EasingFunction = new QuarticEase(); // for example

Upvotes: 2

RhodanV5500
RhodanV5500

Reputation: 1107

There is a difference between the easing-function and the easing-mode.

Here is a short example for Win-8 (not WPF):

SineEase easingFunction = new SineEase();
easingFunction.EasingMode = EasingMode.EaseIn;
animation.EasingFunction = easingFunction;

Upvotes: 5

Paul Wheeler
Paul Wheeler

Reputation: 20180

You need to create an instance of IEasingFunction (http://msdn.microsoft.com/en-us/library/system.windows.media.animation.ieasingfunction.aspx). There is a list of implementation classes at the bottom of that documentation entry, the most common of which is probably CubicEase or QuadraticEase.

Upvotes: 5

Related Questions