我在Silverlight4应用程序中使用后台工作线程。在ProgresssChanged事件处理程序中,我可以调用Silverlight,但这是如何工作的呢?触发ProgressChanged事件的后台工作线程不是在与Silverlight UI线程不同的线程上吗?如果是这样,我认为从另一个线程更新UI线程会导致异常。
史考特
发布于 2010-07-20 18:49:36
您说得对,从另一个线程更新UI线程是不可取的。BackgroundWorker有特殊的智能来确保,即使工作是在后台线程上完成的,ProgressChanged和RunWorkerCompleted事件也会在UI线程上引发。
我相信它利用了SynchronizationContext来做这件事。
https://stackoverflow.com/questions/3289162
复制相似问题