是否存在与WPF应用程序相关的每个DispatcherPriority枚举值的确切含义的文档。
特别是,Background
/ ContextIdle
/ ApplicationIdle
之间是否存在实际差异?我发现自己在代码的各个部分使用了这些内容,并希望对一个值进行标准化。
典型的用法是在数据绑定的TreeView控件中。设置项目时 如果选择(在ViewModel中),我想首先展开它的所有父项(再次在ViewModel中),然后在实际设置selected属性之前等待它们完全呈现(在View中)。
答案 0 :(得分:1)
了解它实际工作原理的最佳方法是查看它的源代码。
.Net Framework源代码可在https://referencesource.microsoft.com/
获得
在退房并理解此代码后,您可以获得问题的答案 https://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/Threading/Dispatcher.cs,ad208569500b2a1d
我的快速理解:如果您的代码需要,那么优先事项就是让机会更精确地指定操作优先级。没有隐藏的事件/状态来执行特定优先级的操作。 Alghoritm将以最高优先级执行任务并调用它,依此类推。