In a Silverlight app, I have a block of code that has to run every 500ms. I am planning o use a DispatcherTimer to achieve this (see code below).
Dispatcher
In order make the event run successfull without getting a call from your DispatcherTimer again with in the previous tick completes stop
the dispatcher timer after entering in to dt_Tick
event and at the end of the tick event call the start
again which will initializes the IsEnabled of DispatcherTimer again to true.