Dans un UserControl WinForms, je transmettais des données au thread principal de l'interface graphique en appelant this.BeginInvoke() à partir de l'une des méthodes du contrôle. Quel est l'équivalent dans un UserControl Silverlight? En d'autres termes, comment puis-je prendre des données fournies par un thread de travail arbitraire et m'assurer qu'il est traité sur le thread de rappel principal?Dans Silverlight, comment appeler une opération sur le thread Dispatch principal?
5
A
Répondre
6
Utilisez la propriété Dispatcher sur la classe UserControl.
private void UpdateStatus()
{
this.Dispatcher.BeginInvoke(delegate { StatusLabel.Text = "Updated"; });
}
2
private void UpdateStatus()
{
// check if we not in main thread
if(!this.Dispatcher.CheckAccess())
{
// call same method in main thread
this.Dispatcher.BeginInvoke(UpdateStatus);
return;
}
// in main thread now
StatusLabel.Text = "Updated";
}
Questions connexes
- 1. Forcer l'exécution de code sur le thread principal
- 2. Accéder au thread principal avec le rappel
- 3. VB.NET - Comment masquer un formulaire dans une opération inter-thread
- 4. Log4Net fonctionne dans le thread principal mais pas dans le thread créé
- 5. C# effacement du thread principal
- 6. WPF Prendre une capture d'écran d'un autre thread que le thread principal
- 7. Comment utiliser AsyncSocket dans un thread de travail au lieu du thread principal?
- 8. Comment arrêter une opération de lecture sur une socket?
- 9. Appel d'une fonction du thread principal et le faisant fonctionner en parallèle avec une fonction dans le thread principal (partie 2)
- 10. Opération croisée pas valide: Contrôle accédé à partir d'un thread autre que le thread sur lequel il a été créé
- 11. "Exception dans le thread" principal "java.lang.NullPointerException lors de l'ajout à une HashMapList
- 12. Comment empêcher Core Animation de bloquer mon thread principal?
- 13. Comment obtenir une propriété de dépendance silverlight lorsqu'elle n'est pas dans le thread de l'interface utilisateur?
- 14. Wpf - centrage sur le bureau principal
- 15. Appeler une fenêtre forment un autre thread (.Net)
- 16. Comment appeler une fonction javascript sur onrowcommand?
- 17. Comment changer le menu principal dans Cocoa?
- 18. asp.net: pour appeler la méthode join sur plus d'un objet thread?
- 19. sIFR dans le menu principal
- 20. Shift Control du fil de backgrount au thread principal
- 21. Silverlight DataBinding problème de thread croisé
- 22. Comment faire face à une deuxième boucle d'événements avec message-dispatch?
- 23. Comment utiliser HttpWebRequest pour appeler une opération de service Web qui prend un paramètre byte []?
- 24. Évitez que le thread principal ne se bloque lorsque UIWebView tente de verrouiller de manière bloquante le thread Web
- 25. Comment programmatiacally définir le nom principal sur un service hébergé
- 26. Silverlight DataGrid Control - Comment arrêter le tri sur une colonne?
- 27. Opération verrouillée sur des données non autorisées
- 28. Quelle est la valeur de la priorité du thread principal?
- 29. Supprimer une opération dans php en utilisant le prototype js
- 30. Silverlight CustomValidation sur une classe