Silverlight后台工作者如何更新UI线程没有问题?

时间:2010-07-20 10:46:51

标签: silverlight multithreading

我在Silverlight 4应用程序中使用Background工作线程。在ProgresssChanged事件处理程序中,我可以调用Silverlight UI,但这是如何工作的?后台工作线程不是在与Silverlight UI线程不同的线程上触发ProgressChanged事件吗?如果是这样,我认为从另一个线程更新UI线程会导致异常。

斯科特

1 个答案:

答案 0 :(得分:3)

你是对的,从另一个线程更新UI线程是禁忌。 BackgroundWorker具有特殊的智能,可以确保即使在后台线程上完成工作,也会在UI线程上引发ProgressChanged和RunWorkerCompleted事件。

我相信它会利用SynchronizationContext来做到这一点。