Silverlight 跨线程访问无效

转载 2013年12月03日 09:52:36

解决办法有以下几种1使用 SynchronizationContext;此方法需要注意的是,System.Threading.SynchronizationContext.Current必须在UI线程中调用,如果在子线程中,将返回null;

双击代码全选
1
2
3
4
5
6
7
8
9
10
11
12
private void button1_Click(object sender, RoutedEventArgs e)  
{  
    System.Threading.SynchronizationContext sc = System.Threading.SynchronizationContext.Current;  
    System.Threading.Thread thread=new System.Threading.Thread(()=>{  
        sc.Post((o) => {  
            ((Button)sender).Content = "Hello";  
        }, null);  
              
       
    });  
    thread.Start();  
}

2 使用Dispatcher.BeginInvoke方法

双击代码全选
1
2
3
4
5
6
7
8
9
10
private void button1_Click(object sender, RoutedEventArgs e)  
{  
          
    System.Threading.Thread thread=new System.Threading.Thread(()=>{  
       
        this.Dispatcher.BeginInvoke(() => { ((Button)sender).Content = "Hello"; });  
               
    });  
    thread.Start();  
}

3 使用BackgroundWorker 类来代替你的线程类

相关文章推荐

Silverlight 跨线程访问无效(Socket例)

Silverlight 的许多请求基本都是异步的,用WCF也好,WEBCLIENT也好,都会进行异步请求,并提供一个事件用于执行回调。在使用WCF和WEBCLIENT与服务器通信的时候通常我们都不会遇...

Silverlight 跨线程访问

新建SL4 应用程序,在MainPage下添加代码: Thread1   后台代码为: private void btnThread1_Click(object sender, RoutedE...

C# 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~

线程间操作无效: 从不是创建控件“”的线程访问它。 听说2003里边不会,我不知道是不是这样的,反正一直都在用05~ 05里会出这个问题的,貌似是为了安全~ 哦,现在知道的解决方法有两个~ ...

线程间操作无效: 从不是创建控件“...”的线程访问它。

访问 Windows 窗体控件本质上不是线程安全的。如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的 bug,包括争用情况和死锁。确保以线程安...

C#线程间操作无效: 从不是创建控件" XX" 的线程访问它

转自:http://www.arasplm.net/index.php/zh/community/myblog/c-xx-.html 前些天做的要使用到线程的项目,现在和大家分享一下感受! ...

线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析

最近,在做一个使用线程控制下载文件的小程序(使用进度条控件显示下载进度)时,遇到这样的问题, 错误显示: 未处理的“System.InvalidOperationException”类型的...

线程间操作无效: 从不是创建控件“”的线程访问它。

线程间操作无效: 从不是创建控件“”的线程访问它。 听说2003里边不会,我不知道是不是这样的,反正一直都在用05~ 05里会出这个问题的,貌似是为了安全~ 哦,现在知道的解决方法有两个~ ...

线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~

线程间操作无效: 从不是创建控件“”的线程访问它。 听说2003里边不会,我不知道是不是这样的,反正一直都在用05~ 05里会出这个问题的,貌似是为了安全~ 哦,现在知道的解决方法有两个~ ...
  • dongzhe8
  • dongzhe8
  • 2015年05月17日 18:34
  • 13121

线程间操作无效: 从不是创建控件的线程访问它的三种解决方法

今天遇到这个问题,百度了下,把解决的方法总结出来。 我们在ui线程创建的子线程操作ui控件时,系统提示错误详细信息为: 线程间操作无效: 从不是创建控件“XXX”的线程访问它。   就我知道的有三...
  • jumtre
  • jumtre
  • 2015年04月07日 22:59
  • 17005

Winform线程间操作无效从不是创建控件的线程访问它的几个解决方案async和await?

目录 概述 取消跨线程检查 使用委托异步调用 sync和await 总结 概述 最近在qq群里有一朋友,问起在winform中怎么通过开启线程的方式去处理耗时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Silverlight 跨线程访问无效
举报原因:
原因补充:

(最多只允许输入30个字)