A serious flaw in Silverlight's animation classes
It is tempting to use the animation classes (e.g. DoubleAnimation) of Silverlight when it comes to implement animations. For simple animations, these classes are the best choices. However, if animations need to be manipulated during their running, one needs to think twice before grabbing these classes because there is a serious flaw – the animation speed cannot be changed gracefully. Changing the SpeedRatio property does change the speed, but it also resets the animated property (e.g. Angel property of a transformation) causing a jerk. There may be ways to get around it, but they would defeat the purpose of these classes – making the implementation of animation easy. It would be a better choice to implement the animation by using DispatcherTimer from scratch if speed change is needed during animation.