我在非常复杂的 WPF UI 中面临渲染问题,其中包含许多转换器(IValueConverter、IMultiValueConverter)。
我想知道转换器是否可以参与其中。
有人知道 WPF 转换器是如何工作的吗? 它们是并行执行然后与 UI 线程同步的吗?还是有某种处理每个转换器的 foreach 循环?
最佳答案
转换器在 UI 线程上执行,您可以通过使用类似 Thread.Sleep(10000)
的方式阻塞线程来测试这一点。 UI 在调度程序队列中进行管理,参见 threading model reference有关更多信息,绑定(bind)的更新被推送到该队列中。如果绑定(bind)已更新,则调用转换器,通常不会同时调用它们。
(另见下方好评)
关于wpf - WPF转换器是如何执行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6865912/