Dispatcher.DisableProcessing Yöntem

Tanım

Kuyruğun işlenmesini Dispatcher devre dışı bırakır.

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

Döndürülenler

Dağıtıcı işlemeyi yeniden etkinleştirmek için kullanılan bir yapı.

Örnekler

Aşağıdaki örnekte dağıtıcı işlemeyi devre dışı bırakma ve dağıtıcı işlemeyi yeniden etkinleştirme işlemleri gösterilmektedir. DisableProcessing using deyiminde çağrılır. DisableProcessing, DispatcherProcessingDisabled bloğu tamamlandığında atılacak nesne olarak kullanılan bir yapı döndürür. Yapıda Dispose çağrıldığında DispatcherProcessingDisabled dağıtıcı işlemesi yeniden etkinleştirilir.

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

Açıklamalar

Dağıtıcı işlemeyi devre dışı bırakmak, ilgisiz yeniden giriş olasılığını ortadan kaldırmaya yönelik gelişmiş bir yöntemdir.

İşlemeyi devre dışı bırakmanın etkileri şunlardır:

  • CLR kilitleri, iletileri dahili olarak pompalamayacak.

  • DispatcherFrame nesnelerin gönderilmesine izin verilmez.

  • İleti işlemeye izin verilmiyor.

DispatcherProcessingDisabled Çağrıldığında döndüren DisableProcessing yapı dağıtıcı işlemeyi yeniden etkinleştirmek için kullanılabilir. Yapı üzerinde çağrılması Dispose işlemeyi DispatcherProcessingDisabled yeniden etkinleştirir.

DisableProcessing yalnızca ilişkili olduğu iş parçacığında Dispatcher çağrılabilir.

Şunlara uygulanır