2009-11-05 4 views
0

J'ai développé un contrôle de graphe dans GDI + et utilisé une minuterie dedans .. maintenant je le convertis en WPF. mais quand je suis allé sur et chercher une minuterie il n'y a pas de minuteries dans WPF ... comment puis-je résoudre ce problème? Toute alternative à utiliser?Problème avec le contrôle de graphe WPF

salutations, rangana.

Répondre

1

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)); 
}