У меня есть приложение для браузера Silverlight 5.
Существует класс
public class ActivityControl:UserControl {
public void LoadSubControls() {
//Creates Other UserControls, does calculations and is very slow..No refactoring..
}
}
Мне нужно создать несколько экземпляров этого класса и вызвать метод 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();
}
}
}
Есть ли способ создать несколько потоков пользовательского интерфейса, чтобы избежать недопустимого исключения перекрестного потока?
Мне нужно многопоточность по соображениям производительности и потому, что вызов метода очень медленный, и пользовательский интерфейс зависает.
Есть ли способ вызвать метод SetSyncronizationContext
(который является [SecurityCritical]) в Silverlight?