Dispatcher.DisableProcessing Метод

Определение

Отменяет обработку очереди Dispatcher.Disables processing of the Dispatcher queue.

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

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

Структура, используемая для повторного включения диспетчера.A structure used to re-enable dispatcher processing.

Примеры

В следующем примере показано, как отключить обработку диспетчера и повторно включить обработку диспетчера.The following example shows how to disable dispatcher processing and re-enable dispatcher processing. DisableProcessing вызывается в операторе using .DisableProcessing is called in a using statement. DisableProcessing возвращает структуру DispatcherProcessingDisabled, которая используется в качестве объекта, который должен быть удален при завершении блока using .DisableProcessing returns a DispatcherProcessingDisabled structure that is used as the object to be disposed when the using block finishes. При вызове Dispose в структуре DispatcherProcessingDisabled диспетчер повторно включается.When Dispose is called on the DispatcherProcessingDisabled structure, dispatcher processing is re-enabled.

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

Комментарии

Отключение обработки диспетчера является расширенным методом, который предназначен для устранения вероятности несвязанного повторного входа.Disabling dispatcher processing is an advanced method that is intended to eliminate the chance of unrelated reentrancy.

Ниже приведены последствия отключения обработки.The effects of disabling processing are as follows:

  • Блокировки CLR не будут внутренним образом передавать сообщения.CLR locks will not pump messages internally.

  • не допускается отправка DispatcherFrame объектов.DispatcherFrame objects are not allowed to be pushed.

  • Обработка сообщений запрещена.Message processing is not permitted.

Структура DispatcherProcessingDisabled, которая DisableProcessing возвращается при вызове, может использоваться для повторного включения диспетчера.The DispatcherProcessingDisabled structure that DisableProcessing returns when it is called can be used to re-enable dispatcher processing. Вызов Dispose в структуре DispatcherProcessingDisabled повторно включает обработку.Calling Dispose on the DispatcherProcessingDisabled structure re-enables processing.

DisableProcessing можно вызывать только в потоке, с которым связан Dispatcher.DisableProcessing can only be called on the thread the Dispatcher is associated with.

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