DispatcherPriority 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
描述可通过 Dispatcher 调用操作的优先级。
public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority =
Public Enum 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 中没有对应于 ApplicationIdle
和 ContextIdle
对应的特定系统状态或“空闲性”。 两者仍然是有效的优先级;优先级 ContextIdle
高于优先级的操作,优先级高于优先级 SystemIdle
为的操作。
Dispatcher如果操作超过 CPU 的特定百分比,则不会限制操作的执行。 限制进程的一种方法是使用计时器。
如果操作以优先级自行DispatcherSend
发布Dispatcher.Invoke,该操作将绕过队列并立即执行。