2
我工作的方式是通过不同的开源项目来了解人们如何以不同方式处理相同问题。这一次它是Event Aggregators,特别是Caliburn.Micro的一个。试图了解如何在UI上调用线程
我注意到罗布说,如果没有线程提供EA将编组到UI线程。该生产线具体为:
public static Action<System.Action>
DefaultPublicationThreadMarshaller = action => action();
再往上:
marshal(() =>
{
*SNIP*
});
我不明白他怎么能说这将在UI线程上的帮助,将呼吁所有行动UI线程,除非你指定一个不是? (你可以指定哪个动作叫做btw,上面的行就是没有提供动作的情况)。
没有什么会导致它在UI线程上被调用。 'DefaultPublicationThreadMarshaller'只是调用当前正在运行的线程中的动作。你在哪里找到完全提到的UI线程? – Groo 2012-03-27 21:48:40
没有这种自动行为。也许这就是'marshal()'的设计和实现。 – 2012-03-27 21:51:15