DispatcherTimer timer = new DispatcherTimer();
timer.Tick += (s, e) =>
{
// do some very quick work here
// update the UI
StatusText.Text = DateTime.Now.Second.ToString();
};
timer.Interval = TimeSpan.FromSeconds(1);
timer.Start();
Обратите внимание, что здесь вы прерываете поток пользовательского интерфейса, а не запускаете что-либо в отдельном потоке. Он не подходит для чего-то длительного и интенсивного использования процессора, а скорее для того, что нужно выполнять через регулярные промежутки времени. Обновления интерфейса часов - отличный пример.
Также не гарантируется, что таймеры будут работать точно, когда наступит временной интервал, но они гарантированно не выполнятся до наступления временного интервала. Это связано с тем, что операции DispatcherTimer помещаются в очередь Dispatcher, как и другие операции. Время выполнения операции DispatcherTimer зависит от других заданий в очереди и их приоритетов.
Для получения дополнительной информации используйте эту ссылку
Если вы хотите использовать таймер для фоновой задачи, используйте
System.Threading.Timer вместо DispatcherTimer
Для получения дополнительной информации используйте эту ссылку