我已经读过,我们无法从其他工作线程访问Silverlight应用程序中的主UI线程中的任何内容。
那么为什么有可能访问类System.Windows.Threading.Dispatcher的对象,当我们想要委托在用户界面上完成一些工作时,该对象与来自其他工作线程的主UI线程相关联?
public partial class DispatcherExample : UserControl
{
public void AnyFunctionExecutingInSomeOtherThread()
{
this.Dispatcher.BeginInvoke(SomeDelegate);
}
}
答案 0 :(得分:4)
可以从任何线程访问Dispatcher
实例,因为它没有线程关联。如果它确实具有线程亲和性,那么它本质上是无用的,因为它的主要原因是从任何线程将消息分派到正确的线程上。