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 , которая используется в качестве объекта, который будет удален при завершении блока 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 с которым связана связь.