UWP Dispatcher用法
Task.Run(async () =>
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
{
ContentDialog dialog = new ContentDialog()
{
Title = "Test Dispatcher(测试Dispatcher)",
DefaultButton = ContentDialogButton.Close,
CloseButtonText = "Close(关闭)"
};
await dialog.ShowAsync();
});
});
根据CoreDispatcherPriority Enum,优先级分为:
High
:高优先级。 所有同步请求都会立即调用委托。 异步请求在任何其他请求类型之前排队和处理。
不要在应用程序中使用此优先级。 它是为系统事件保留的。 使用此优先级可能会导致其他消息(包括系统事件)被延迟。
Normal
:正常优先。 事件按安排的顺序进行处理。
Low
:低优先级。 如果队列中没有更高优先级的事件,则处理该事件。
Idle
:最低优先级。 将此优先级用于后台任务。 当窗口的主线程空闲并且队列中没有待处理的输入时,会处理委托。
示例代码
参考资料
CoreDispatcher Class
CoreDispatcher.RunAsync
CoreDispatcherPriority Enum
Getting the Dispatcher of a Window in UWP
学习技术最好的文档就是【官方文档】,没有之一。
还有学习资料【Microsoft Learn】、【CSharp Learn】、【My Note】。
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的【推荐】按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下【关注】。