WPF中的DispatcherPriority

时间:2017-12-21 11:32:39

标签: c# wpf

是否存在与WPF应用程序相关的每个DispatcherPriority枚举值的确切含义的文档。

特别是,Background / ContextIdle / ApplicationIdle之间是否存在实际差异?我发现自己在代码的各个部分使用了这些内容,并希望对一个值进行标准化。

典型的用法是在数据绑定的TreeView控件中。设置项目时  如果选择(在ViewModel中),我想首先展开它的所有父项(再次在ViewModel中),然后在实际设置selected属性之前等待它们完全呈现(在View中)。

1 个答案:

答案 0 :(得分:1)

了解它实际工作原理的最佳方法是查看它的源代码。

  

.Net Framework源代码可在https://referencesource.microsoft.com/

获得

在退房并理解此代码后,您可以获得问题的答案 https://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/Threading/Dispatcher.cs,ad208569500b2a1d

我的快速理解:如果您的代码需要,那么优先事项就是让机会更精确地指定操作优先级。没有隐藏的事件/状态来执行特定优先级的操作。 Alghoritm将以最高优先级执行任务并调用它,依此类推。