Dispatcher.PushFrame(DispatcherFrame) Methode

Definition

Tritt in eine Ausführungsschleife ein.

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)

Parameter

frame
DispatcherFrame

Der Frame, den der Verteiler verarbeiten soll.

Attribute

Ausnahmen

frame ist null.

HasShutdownFinished ist gleich true.

- oder - frame wird auf einem anderen Dispatcher ausgeführt.

- oder - Verteilerverarbeitung wurde deaktiviert.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie ähnliche DispatcherFrame Ergebnisse wie die Windows Forms-Methode DoEvents verwenden.

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

Hinweise

A DispatcherFrame stellt eine Schleife dar, die ausstehende Arbeitselemente verarbeitet.

Der Dispatcher verarbeitet die Arbeitsaufgabenwarteschlange in einer Schleife. Die Schleife wird als Frame bezeichnet. Die anfängliche Schleife wird in der Regel von der Anwendung durch Aufrufen Runinitiiert.

PushFrame gibt eine Schleife ein, die durch den Parameter framedargestellt wird. Bei jeder Iteration der Schleife überprüft Continue die Dispatcher Eigenschaft DispatcherFrame der Klasse, um festzustellen, ob die Schleife fortgesetzt werden soll oder ob sie beendet werden soll.

DispatcherFrame ermöglicht, dass die Continue Eigenschaft explizit festgelegt werden kann und die HasShutdownStarted Eigenschaft auf der Dispatcher. Dies bedeutet, dass beim Herunterfahren von Dispatcher Frames, die die Standardimplementierung DispatcherFrame verwenden, beendet wird, wodurch alle geschachtelten Frames beendet werden können.

Gilt für

Siehe auch