Dispatcher.PushFrame(DispatcherFrame) Méthode

Définition

Entame une boucle d'exécution.

C#
[System.Security.SecurityCritical]
public static void PushFrame (System.Windows.Threading.DispatcherFrame frame);
C#
public static void PushFrame (System.Windows.Threading.DispatcherFrame frame);

Paramètres

frame
DispatcherFrame

Frame que le répartiteur doit traiter.

Attributs

Exceptions

frame a la valeur null.

HasShutdownFinished a la valeur true.

  • ou - frame s'exécute sur un Dispatcher différent.

  • ou - Le traitement du répartiteur a été désactivé.

Exemples

L’exemple suivant montre comment utiliser un pour obtenir des DispatcherFrame résultats similaires à la méthode Windows FormsDoEvents.

C#
public void DoEvents()
{
    DispatcherFrame frame = new DispatcherFrame();
    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
        new DispatcherOperationCallback(ExitFrame), frame);
    Dispatcher.PushFrame(frame);
}

public object ExitFrame(object f)
{
    ((DispatcherFrame)f).Continue = false;
   
    return null;
}

Remarques

Un DispatcherFrame représente une boucle qui traite les éléments de travail en attente.

Le répartiteur traite la file d’attente des éléments de travail dans une boucle. La boucle est appelée trame. La boucle initiale est généralement lancée par l’application en appelant Run.

PushFrame entre une boucle représentée par le paramètre frame. À chaque itération de la boucle, la Dispatcher propriété vérifie la Continue propriété sur la DispatcherFrame classe pour déterminer si la boucle doit continuer ou si elle doit s’arrêter.

DispatcherFrame autorise la définition explicite de la Continue propriété et respecte la HasShutdownStarted propriété sur le Dispatcher. Cela signifie que lorsque les Dispatcher images commencent à s’arrêter, les images qui utilisent l’implémentation par défaut DispatcherFrame quittent, ce qui permet à tous les cadres imbriqués de quitter.

S’applique à

Produit Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

Voir aussi