Andrej Tozon's blog

In the Attic


Countdown to Silverlight 3 #10: Animation easing

Doing non-linear animations with Silverlight 2 involved “playing” with key splines, and it took quite some time to get it right, even if using a tool like Expression Blend. Silverlight 3 puts some ease in this process by introducing the new, predefined, so-called easing functions, that can be applied to an animation to affect its state while progressing through time. It’s similar to what you could achieve with the splines, but without the fuss. The functions include some standard progressions (Circle, Cubic, Exponential, Quadratic, etc), with a couple of more interesting ones (Back, Elastic).

If the provided functions not enough for you, you can create your own function by creating a new class, deriving from the EasingFunctionBase class. I’ve created a “JerkyEase” animation, which is really a very simple linear animation, but with a random jerky-interrupty points to make it look… well, kind of underperformant. Totally useless, but it made it into the sample deck until I figure out something more usable.

Run the application online

Source code below: