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

Определение

Описывает приоритеты, с которыми могут вызываться операции посредством Dispatcher.

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

Поля

ApplicationIdle 2

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

Background 4

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

ContextIdle 3

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

DataBind 8

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

Inactive 0

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

Input 5

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

Invalid -1

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

Loaded 6

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

Normal 9

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

Render 7

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

Send 10

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

SystemIdle 1

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

Примеры

В следующем примере вызывается 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)

Комментарии

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

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

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

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