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 类来代替你的线程类

举报

相关文章推荐

线程间调用无效(跨线程调用问题)

一个线程要调用主线程的的空间进行修改,如TextBox,ListBox等,会遇到线程调用无效问题,解决方法如下; 因为你这个控件是主线程创建的,它依附于创建窗体的主线程.因此,要在子线程去访问占资源的...

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

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

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Silverlight 跨线程访问

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

跨线程访问控件

首先明确一下进程和线程之间的关系:进程是操作系统分配资源的最小单位,进程之间隔离,作为资源的拥有者,在创建、CPU处理时切换以及撤销的过程中花费时间较长,而线程是操作系统任务调度的最小单元,对于每个进...

Silverlight跨域访问WebService解决方法

这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头…… ...

javaScript跨域总结和相关解决办法大全

什么是跨域 1、document.domain+iframe的设置 2、动态创建script 3、利用iframe和location.hash 4、window.name实现的跨域数据传输 5、使用H...

前端跨域访问原理以及解决方案

1:首先了解web页面调用js不受跨域影响。 2:我们通过ajax请求调用js脚本,这样就可以实现跨域。 3:jsonp该协议的一个要点就是允许用户传递一个callback参数给服务器,然后服务器...

ajax 浏览器跨域问题的解决办法

参考链接:http://stackoverflow.com/questions/12383109/access-control-allow-origin-in-tomcatajax 跨域访问报错:No...

前端解决跨域问题的8种方案

前端解决跨域问题的8种方案(最新最全) 1.同源策略如下:URL说明是否允许通信http://www.a.com/a.js...

解决跨域访问问题

PoxyServlet com.XXXX.common.servlet.ProxyHandler <se
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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