DispatcherPriority Перечисление

Определение

Описывает приоритеты, при которых операции можно вызывать с помощью Dispatcher.

public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority = 
Public Enum DispatcherPriority
Наследование
DispatcherPriority

Поля

Имя Значение Описание
Invalid -1

Значение перечисления равно -1. Это недопустимый приоритет.

Inactive 0

Значение перечисления равно 0. Операции не обрабатываются.

SystemIdle 1

Значение перечисления равно 1. Операции обрабатываются при простои системы.

ApplicationIdle 2

Значение перечисления равно 2. Операции обрабатываются при простои приложения.

ContextIdle 3

Значение перечисления равно 3. Операции обрабатываются после завершения фоновых операций.

Background 4

Значение перечисления равно 4. Операции обрабатываются после завершения всех других неактивных операций.

Input 5

Значение перечисления равно 5. Операции обрабатываются с тем же приоритетом, что и входные данные.

Loaded 6

Значение перечисления равно 6. Операции обрабатываются при завершении макета и отрисовки, но непосредственно перед обслуживанием элементов с приоритетом ввода. В частности, это используется при вызове события Loaded.

Render 7

Значение перечисления равно 7. Операции обрабатываются в том же приоритете, что и отрисовка.

DataBind 8

Значение перечисления равно 8. Операции обрабатываются с тем же приоритетом, что и привязка данных.

Normal 9

Значение перечисления равно 9. Операции обрабатываются в обычном приоритете. Это типичный приоритет приложения.

Send 10

Значение перечисления равно 10. Операции обрабатываются перед другими асинхронными операциями. Это самый высокий приоритет.

Примеры

В следующем примере вызывается Dispatcher.BeginInvoke метод и передается делегат с одним аргументом. Для приоритета задано значение Normal.

// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
    System.Windows.Threading.DispatcherPriority.Normal,
    new OneArgDelegate(UpdateUserInterface), 
    weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)

Комментарии

В текущей версии WPF нет определенного состояния системы или простоя, соответствующего ApplicationIdle и ContextIdle. Оба по-прежнему являются допустимыми приоритетами; Операция с приоритетом ContextIdle имеет более высокий приоритет, чем операция с приоритетом SystemIdle.

При превышении определенного процента ЦП не Dispatcher выполняется операция. Одним из способов регулирования процесса является использование таймера.

Если операция размещается Dispatcher.Invoke самостоятельно Dispatcher в приоритете Send, операция проходит очередь и немедленно выполняется.

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