Timer dispatching changes out of order on WP7
===

I'm trying to make a countdown timer on Windows Phone 7, which is really important for my application. But I can't find any method to update text in UI regullary every one second.

    Timer dt = new System.Threading.Timer(delegate
    {
     Dispatcher.BeginInvoke(() =>
                {
                   newtime = oldtime--;
                   System.Diagnostics.Debug.WriteLine("#" + counter.ToString() + 
                                                      " new: " + newtime.ToString() + 
                                                      " old: " + oldtime.ToString());
                   counter++;
                   oldtime = newtime;
                }
    }, null, 0, 1000);

After running my app console output seems like this:

>     #1 new: 445 old: 446
>     #2 new: 444 old: 445
>     #3 new: 445 old: 446
>     #4 new: 443 old: 444
>     #5 new: 444 old: 445
>     #6 new: 442 old: 443
>     #7 new: 443 old: 444
>     #8 new: 441 old: 442

I can't figure out how to get rid of that unwanted invokes (#3, #5, #7, etc.)

Thank you for any advice.