Dispatcher.DisableProcessing Метод

Определение

Отменяет обработку очереди Dispatcher.

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

Возвращаемое значение

DispatcherProcessingDisabled

Структура, используемая для повторного включения диспетчера.

Примеры

В следующем примере показано, как отключить обработку диспетчера и повторно включить обработку диспетчера. DisableProcessing вызывается в операторе using . DisableProcessing возвращает структуру DispatcherProcessingDisabled , которая используется в качестве объекта, который будет удален при завершении блока using . При Dispose вызове структуры DispatcherProcessingDisabled обработка диспетчера снова включена.

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

Комментарии

Отключение обработки диспетчера — это расширенный метод, предназначенный для устранения вероятности несвязанного повторного входа.

Ниже приведены эффекты отключения обработки.

  • Блокировки СРЕДЫ CLR не перекачивают сообщения внутри системы.

  • DispatcherFrame objects are not allowed to be pushed.

  • Обработка сообщений запрещена.

Структура DispatcherProcessingDisabled , возвращаемая DisableProcessing при вызове, может использоваться для повторной обработки диспетчера. Вызов Dispose структуры повторно включает обработку DispatcherProcessingDisabled .

DisableProcessing можно вызывать только в потоке, Dispatcher с которым связана связь.

Применяется к