WPF中Dispatcher.DisableProcessing的常见现实生活用途是什么?当我在代码中构建复杂的UI时,我可以使用它来暂停渲染和布局吗?
答案 0 :(得分:5)
根据MSDN:
禁用调度程序处理是一个 旨在的高级方法 消除无关的机会 重入。
所以你在Dispatcher
正在执行的同一个线程上做了一些工作,但你不希望它在你做这项工作时处理事件。我认为真正相关的一点是:
禁用处理的效果 如下:
* CLR locks will not pump messages internally.
如果我理解正确,这意味着您可以安全地锁定并且不会因此导致调度泵事件(这可能导致意外的重入)。