silverlight跨线程访问无效
时间:2011-04-23 来源:lensso
在silverlight前台使用定时器定时刷新时会报跨线程访问无效的错误,如下代码:
using System.Threading; Timer timer = new Timer(new TimerCallback(timer_tick), null, 0, 10000); private void timer_tick(object state) { //获取异步调用wcf方法获取数据源 _model.OIU_SMS_Receive(newestID); } //以下为事件处理函数中绑定数据源的操作,简写在这,也就是这一句报错 //lbMsg.DataContext = e.Result;
为什么会报这个错误暂时没有研究,但将代码lbMsg.DataContext=e.Result;替换为以下代码可以解决问题:
Deployment.Current.Dispatcher.BeginInvoke(delegate { lbMsg.DataContext = e.Result; });
相关阅读 更多 +