【发布时间】:2011-07-28 21:26:29
【问题描述】:
我在非常复杂的 WPF UI 中面临渲染问题,其中包含许多转换器(IValueConverter、IMultiValueConverter)。
我想知道转换器是否可以参与其中。
有人知道 WPF 转换器是如何工作的吗? 它们是并行执行然后与 UI 线程同步的吗?还是有某种处理每个转换器的 foreach 循环?
【问题讨论】:
标签: wpf data-binding converter
我在非常复杂的 WPF UI 中面临渲染问题,其中包含许多转换器(IValueConverter、IMultiValueConverter)。
我想知道转换器是否可以参与其中。
有人知道 WPF 转换器是如何工作的吗? 它们是并行执行然后与 UI 线程同步的吗?还是有某种处理每个转换器的 foreach 循环?
【问题讨论】:
标签: wpf data-binding converter
转换器在 UI 线程上执行,您可以通过使用 Thread.Sleep(10000) 之类的东西阻塞线程来测试它。 UI 在调度程序队列中进行管理,有关更多信息,请参阅threading model reference,对绑定的更新被推送到该队列中。如果绑定已更新,则调用转换器,通常不会同时调用它们。
(另请参阅下面的好 cmets)
【讨论】: