Dispatcher.DisableProcessing Methode

Definition

Deaktiviert die Verarbeitung der Dispatcher Warteschlange.

public:
 System::Windows::Threading::DispatcherProcessingDisabled DisableProcessing();
public System.Windows.Threading.DispatcherProcessingDisabled DisableProcessing();
member this.DisableProcessing : unit -> System.Windows.Threading.DispatcherProcessingDisabled
Public Function DisableProcessing () As DispatcherProcessingDisabled

Gibt zurück

Eine Struktur, die zum erneuten Aktivieren der Dispatcherverarbeitung verwendet wird.

Beispiele

Das folgende Beispiel zeigt, wie Die Dispatcherverarbeitung deaktiviert und die Verteilerverarbeitung erneut aktiviert wird. DisableProcessing wird in einer using-Anweisung aufgerufen. DisableProcessing gibt eine DispatcherProcessingDisabled Struktur zurück, die als Objekt verwendet wird, das verworfen werden soll, wenn der verwendende Block beendet wird. Wenn Dispose die Struktur aufgerufen wird, wird die DispatcherProcessingDisabled Dispatcherverarbeitung erneut aktiviert.

// The Dispose() method is called at the end of the using statement.
// Calling Dispose on the DispatcherProcessingDisabled structure, 
// which is returned from the call to DisableProcessing, will
// re-enalbe Dispatcher processing.
using (Dispatcher.DisableProcessing())
{
    // Do work while the dispatcher processing is disabled.
    Thread.Sleep(2000);
}
' The Dispose() method is called at the end of the using statement.
' Calling Dispose on the DispatcherProcessingDisabled structure, 
' which is returned from the call to DisableProcessing, will
' re-enable Dispatcher processing.
Using Dispatcher.DisableProcessing()
    ' Do work while the dispatcher processing is disabled.
    Thread.Sleep(2000)
End Using

Hinweise

Das Deaktivieren der Dispatcherverarbeitung ist eine erweiterte Methode, mit der die Wahrscheinlichkeit einer nicht zusammenhängenden Reentranz beseitigt werden soll.

Die Auswirkungen der Deaktivierung der Verarbeitung sind wie folgt:

  • CLR-Sperren pumpen keine Nachrichten intern.

  • DispatcherFrame Objekte dürfen nicht verschoben werden.

  • Die Nachrichtenverarbeitung ist nicht zulässig.

Die DispatcherProcessingDisabled Struktur, die zurückgegeben wird, wenn sie aufgerufen wird, DisableProcessing kann zum erneuten Aktivieren der Dispatcherverarbeitung verwendet werden. Das Aufrufen Dispose der Struktur ermöglicht die DispatcherProcessingDisabled Verarbeitung erneut.

DisableProcessing kann nur für den Thread aufgerufen werden, dem die Dispatcher Zugeordnete ist.

Gilt für: