Dispatcher.PushFrame(DispatcherFrame) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 frame
dargestellt 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.