Article complet: Utilisation d'un timer en WPF

04/01/2010

Permalink 08:38:54, Catégories: Récapitulatif .NET, C#, 179 mots   French (FR) , perpetualsnow

[.NET] Utilisation d'un timer en WPF

Ce message pourra faire rire les habitués à WPF, mais son objectif est de faire gagner un temps précieux à ceux qui voudront créer un timer sous WPF.

Si on utilise un timer de la classe Timer pour accéder aux objets de la fenêtre WPF, on reçoit deux exceptions :

1. Le thread appelant n'est pas en mode STA.
2. Le thread appelant n'est pas propriétaire de l'objet.

En effet, WPF permet à un seul et unique thread (celui de la fenêtre principale) d'accéder à ces objets. Il est donc impossible d'utiliser un Timer accédant à ces objets.

Cela est quand même rendu possible par la classe DispatcherTimer :

messageTimer = new DispatcherTimer(); 
  messageTimer.Tick += new EventHandler(messageTimer_Tick); 
  messageTimer.Interval = new TimeSpan(0, 0, 0, 0, 500); 
  messageTimer.Start();

void messageTimer_Tick(object sender, EventArgs e) 
  { 
  while (messageQueue.Count > 0) 
  { 
  TextBlock tb = new TextBlock(); 
  tb.Text = DateTime.Now + " : " + messageQueue.Dequeue(); 
 
  spMessage.Children.Insert(0, tb); 
  } 
  }

Bon code et à bientôt.

Social Bookmarking:

                                     

Commentaires:

Connectez-vous pour vous abonner à cet article:

Flux de commentaires pour cet article : Atom 1.0  RSS 2.0
Commentaire de: ramahh [Membre]
Je ne sais pas trop combien de lectures il y a eu pour cet article, mais je te dirai simplement : "You saved my day".
Merci.
Permalien 22/02/2011 @ 15:28

Vous devez être identifié pour poster un commentaire.

Liste des blogs

// Commentaires de PerpetualSnow

Catégories


Rechercher

<  Mai 2012  >
Lun Mar Mer Jeu Ven Sam Dim
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web