Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Dispatcher.BeginInvoke, méthode

Exécute de façon asynchrone un délégué sur le thread auquel le Dispatcher est associé.

Ce membre est surchargé. Pour obtenir des informations complètes sur ce membre, y compris sa syntaxe, son utilisation et des exemples s'y rapportant, cliquez sur un nom dans la liste de surcharge.

  Nom Description
Méthode publique BeginInvoke(Delegate, Object[]) Exécute de façon asynchrone le délégué spécifié avec les arguments spécifiés sur le thread sur lequel le Dispatcher spécifié a été créé.
Méthode publique BeginInvoke(DispatcherPriority, Delegate) Exécute le délégué spécifié de façon asynchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
Méthode publique BeginInvoke(Delegate, DispatcherPriority, Object[]) Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec les arguments définis, sur le thread sur lequel Dispatcher a été créé.
Méthode publique BeginInvoke(DispatcherPriority, Delegate, Object) Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
Méthode publique BeginInvoke(DispatcherPriority, Delegate, Object, Object[]) Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec le tableau d'arguments défini au niveau du thread auquel le Dispatcher est associé.
Début

Dans WPF, seul le thread qui a créé DispatcherObject peut accéder à cet objet. Par exemple, un thread d'arrière-plan en provenance du thread d'interface utilisateur principal ne peut pas mettre à jour le contenu d'un Button qui a été créé sur le thread d'interface utilisateur. Pour que le thread d'arrière-plan puisse accéder à la propriété de contenu du Button, le thread d'arrière-plan doit déléguer le travail au Dispatcher associé au thread d'interface utilisateur. Pour y parvenir, utilisez Invoke ou BeginInvoke. Invoke est synchrone et BeginInvoke est asynchrone. L'opération est ajoutée à la file d'attente des événements du Dispatcher selon la priorité DispatcherPriority spécifiée.

BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l'objet appelant après avoir été appelé.

BeginInvoke retourne un objet DispatcherOperation qui peut être utilisé pour interagir avec le délégué lorsque celui-ci se trouve dans la file d'attente des événements.

L'objet DispatcherOperation retourné par BeginInvoke peut être utilisé de différentes manières pour interagir avec le délégué spécifié, à savoir :

  • modification de la priorité DispatcherPriority du délégué en attente d'exécution dans la file d'attente des événements ;

  • suppression du délégué de la file d'attente des événements ;

  • attente du retour du délégué ;

  • obtention de la valeur retournée par le délégué après son exécution.

Si plusieurs appels BeginInvoke sont effectués selon la même priorité DispatcherPriority, ils sont exécutés dans l'ordre chronologique.

Si BeginInvoke est appelé au niveau d'un Dispatcher qui s'est arrêté, la propriété d'état du DispatcherOperation retourné a la valeur Aborted.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ