如何从其他线程访问主UI线程中的System.Windows.Threading.Dispatcher?

时间:2010-07-27 18:28:14

标签: wpf silverlight multithreading

我已经读过,我们无法从其他工作线程访问Silverlight应用程序中的主UI线程中的任何内容。

那么为什么有可能访问类System.Windows.Threading.Dispatcher的对象,当我们想要委托在用户界面上完成一些工作时,该对象与来自其他工作线程的主UI线程相关联?

public partial class DispatcherExample : UserControl
{
  public void AnyFunctionExecutingInSomeOtherThread()
  {
    this.Dispatcher.BeginInvoke(SomeDelegate);
  }
}

1 个答案:

答案 0 :(得分:4)

可以从任何线程访问Dispatcher实例,因为它没有线程关联。如果它确实具有线程亲和性,那么它本质上是无用的,因为它的主要原因是从任何线程将消息分派到正确的线程上。