I am working in C#, Silverlight.
I need a way to initialize a count down based on some value in seconds (or some other time unit) and at the end of the countdown I need to perform some method.
The countdown must be separate from the main application.
Use the System.Timers.Timer object. Subscribe to the Elapsed event and then call Start.
By default (as shown above), Timer will use
ThreadPoolto trigger the event(s). That means that handlerMethod will not be running on the same thread as your application. It may contest with other threads in the ThreadPool, but not with a thread outside the pool. You may set the SynchronizingObject to modify this behavior. In particular, if the Elapsed event invokes a method in a Windows Form control you must run on the same thread that created the control, setting SynchronizingObject to the control will accomplish this.