Dispatcher.PushFrame(DispatcherFrame) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.