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)

注解

当前版本的 WPF 中没有对应于 ApplicationIdleContextIdle 对应的特定系统状态或“空闲性”。 两者仍然是有效的优先级;优先级 ContextIdle 高于优先级的操作,优先级高于优先级 SystemIdle为的操作。

Dispatcher如果操作超过 CPU 的特定百分比,则不会限制操作的执行。 限制进程的一种方法是使用计时器。

如果操作以优先级自行DispatcherSend发布Dispatcher.Invoke,该操作将绕过队列并立即执行。

适用于