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
Возвращаемое значение
Структура, используемая для повторной включения обработки диспетчера.
Примеры
В следующем примере показано, как отключить обработку диспетчера и повторно включить обработку диспетчера. DisableProcessing вызывается в инструкции using . DisableProcessing возвращает структуру DispatcherProcessingDisabled , которая используется в качестве объекта, который будет удален при завершении использования блока. При 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 Объекты не допускаются для отправки.
Обработка сообщений не разрешена.
Структура DispatcherProcessingDisabled , возвращаемая DisableProcessing при вызове, может использоваться для повторной включения обработки диспетчера. Dispose Вызов DispatcherProcessingDisabled структуры повторно включает обработку.
DisableProcessing вызов может вызываться только в потоке Dispatcher , с которым связан.