关于WPF Dispatcher对象的混淆

时间:2012-02-16 21:30:58

标签: wpf

有人可以用简单的外行语言告诉我,WPF Dispatcher对象是什么?

另外,我有时会在对象的构造函数中看到这行代码。 Dispatcher.CurrentDispatcher代表什么?

Dispatcher dispatcher = Dispatcher.CurrentDispatcher;

我知道这与确保你不会从与拥有该对象的线程不同的线程访问对象有关,但是我无法正确地绕着Dispatcher这样做做什么。

2 个答案:

答案 0 :(得分:3)

我认为MSDN page应该给出一个很好的描述,简而言之:

  

Dispatcher 维护特定线程的优先工作项队列。

CurrentDispatcher

  

如果Dispatcher与当前线程无关,则会创建新的DispatcherFromThread方法不是这种情况。如果没有与指定线程关联的调度程序,FromThread将返回 null

答案 1 :(得分:1)

http://weblogs.asp.net/pawanmishra/archive/2010/06/06/understanding-dispatcher-in-wpf.aspx

主UI线程是唯一可以访问用户界面的线程。 调度程序是一种将消息传递给主UI线程的方法。