Vous pouvez utiliser System.Threading.Timer
sans aucun problème, je suppose.
Voici un exemple d'une minuterie qui exécute toutes les 1 sec:
using System.Threading;
...
TimerCallback timerCallBack = OnTimerCallback;
Timer timer = new Timer(timerCallBack, null, 0, 1000);
...
private void OnTimerCallback(object state)
{
...
}
Si vous souhaitez mettre à jour les éléments liés à l'interface utilisateur de la minuterie, vous devrez utiliser Dispatcher.BeginInvoke
parce que la minuterie fonctionne dans son propre thread et l'interface utilisateur appartient au thread principal qui démarre le minuteur. Voici un exemple:
private void OnTimerCallback(object state)
{
Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Normal,
(ThreadStart) (() => Background = Brushes.Black));
}