Dispatcher.DisableProcessing Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.