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.Invoke, méthode

Exécute le délégué spécifié de façon synchrone au niveau du 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 Invoke(Delegate, Object[]) Exécute le délégué spécifié de façon synchrone avec les arguments spécifiés, sur le thread auquel Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, Delegate) Exécute le délégué spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(Delegate, TimeSpan, Object[]) Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé.
Méthode publique Invoke(Delegate, DispatcherPriority, Object[]) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, Delegate, Object) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, TimeSpan, Delegate) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec la valeur de délai d'attente définie au niveau du thread sur lequel le Dispatcher a été créé.
Méthode publique Invoke(Delegate, TimeSpan, DispatcherPriority, Object[]) Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, Delegate, Object, Object[]) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, TimeSpan, Delegate, Object) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[]) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis 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.

Invoke est une opération synchrone ; par conséquent, le contrôle n'est pas retourné à l'objet appelant tant que le rappel n'est pas retourné.

Dans l'exemple suivant, un délégué est placé au niveau d'un Dispatcher selon la priorité Normal à l'aide de Invoke.


// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // Place delegate on the Dispatcher.
    this.Dispatcher.Invoke(DispatcherPriority.Normal,
        new TimerDispatcherDelegate(TimerWorkItem));
}


Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,