Dispatcher.PushFrame(DispatcherFrame) Méthode

Définition

Entame une boucle d'exécution.

public:
 static void PushFrame(System::Windows::Threading::DispatcherFrame ^ frame);
[System.Security.SecurityCritical]
public static void PushFrame (System.Windows.Threading.DispatcherFrame frame);
public static void PushFrame (System.Windows.Threading.DispatcherFrame frame);
[<System.Security.SecurityCritical>]
static member PushFrame : System.Windows.Threading.DispatcherFrame -> unit
static member PushFrame : System.Windows.Threading.DispatcherFrame -> unit
Public Shared Sub PushFrame (frame As DispatcherFrame)

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.

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;
}
<SecurityPermissionAttribute(SecurityAction.Demand, Flags := SecurityPermissionFlag.UnmanagedCode)>
Public Sub DoEvents()
    Dim frame As New DispatcherFrame()
    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, New DispatcherOperationCallback(AddressOf ExitFrame), frame)
    Dispatcher.PushFrame(frame)
End Sub

Public Function ExitFrame(ByVal f As Object) As Object
    CType(f, DispatcherFrame).Continue = False

    Return Nothing
End Function

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 à

Voir aussi