我有一个Silverlight 5浏览器应用程序.
有一节课
public class ActivityControl:UserControl {
public void LoadSubControls() {
//Creates Other UserControls, does calculations and is very slow..No refactoring..
}
}
Run Code Online (Sandbox Code Playgroud)
我需要创建此类的多个实例,并在运行时调用方法LoadSubControls.
public class BasicContainer:UserControl {
public void CreateMultipleActivityControls() {
for (int i = 0; i < 1000; i++) {
ActivityControl c = new ActivityControl(); ====> I need to call this in a different thread but causes Invalid Cross Thread Exception
c.LoadSubControls();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法创建多个UI线程以避免无效的跨线程异常?
出于性能原因我需要多线程,因为方法调用非常慢并且UI冻结.
有没有办法SetSyncronizationContext
在Silverlight中调用方法(这是[SecurityCritical])?