2010-07-27 145 views
1

我讀過,我們無法從其他工作線程訪問Silverlight應用程序的主UI線程中的任何內容。如何從其他線程訪問主UI線程中的System.Windows.Threading.Dispatcher?

那麼,爲什麼有可能訪問一個類System.Windows.Threading.Dispatcher的對象,該對象與其他工作線程中的主UI線程關聯時,我們想要委派一些工作在用戶界面上完成?

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

回答

4

A Dispatcher實例可以從任何線程訪問,因爲它沒有線程關聯。如果它確實具有線程相關性,那麼它本質上是無用的,因爲它的主要目的是將消息從任何線程分發到正確的線程。