Udostępnij za pośrednictwem


Dispatcher.DisableProcessing Metoda

Definicja

Wyłącza przetwarzanie Dispatcher kolejki.

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

Zwraca

DispatcherProcessingDisabled

Struktura używana do ponownego włączania przetwarzania dyspozytora.

Przykłady

W poniższym przykładzie pokazano, jak wyłączyć przetwarzanie dyspozytora i ponownie włączyć przetwarzanie dyspozytora. DisableProcessing jest wywoływana w instrukcji using . DisableProcessing Zwraca strukturę używaną DispatcherProcessingDisabled jako obiekt do usunięcia po zakończeniu korzystania z bloku. Po Dispose wywołaniu struktury DispatcherProcessingDisabled przetwarzanie dyspozytora jest ponownie włączone.

// 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

Uwagi

Wyłączenie przetwarzania dyspozytora to zaawansowana metoda, która ma wyeliminować ryzyko niepowiązanej ponownej enrancji.

Efekty wyłączania przetwarzania są następujące:

  • Blokady CLR nie będą pompować komunikatów wewnętrznie.

  • DispatcherFrame obiekty nie mogą być wypychane.

  • Przetwarzanie komunikatów jest niedozwolone.

Struktura DispatcherProcessingDisabled zwracana DisableProcessing po wywołaniu może służyć do ponownego włączenia przetwarzania dyspozytora. Wywołanie Dispose struktury DispatcherProcessingDisabled ponownie włącza przetwarzanie.

DisableProcessing można wywołać tylko w wątku, z który Dispatcher jest skojarzony.

Dotyczy