小编Geo*_*rge的帖子

在非UI线程Silverlight 5浏览器应用程序中创建UserControl

我有一个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])?

c# silverlight multithreading silverlight-5.0

11
推荐指数
1
解决办法
204
查看次数

标签 统计

c# ×1

multithreading ×1

silverlight ×1

silverlight-5.0 ×1