And finally, make sure you restart the timer in the timer_Completed event.

Actually, it's probably better design to set the RepeatBehavior of the Storyboard to "Forever". That will probably be a more accurate Timer than restarting it in the Completed event. Then, if you choose, you can Stop() the Storyboard, in the Completed
event, based on some piece of data.