首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

silverlight定时事件里为richtextbox动态添加button报跨线程异常

2012-03-13 
silverlight定时事件里为richtextbox动态添加button报跨线程错误silverlight定时事件里为richtextbox动态

silverlight定时事件里为richtextbox动态添加button报跨线程错误
silverlight定时事件里为richtextbox动态添加button报跨线程错误。
比如,一个richtextbox用来显示聊天内容,timer用来定时检测收到的消息,一旦收到特殊消息就在richtextbox中添加一个按钮
,但是在定时事件中为richtextbox添加控件 Button btn=new Button();时就出现跨线程错误。

[解决办法]
使用 richtextbox.Dispatcher.BeginInvoke()
[解决办法]
MSDN:

private delegate void AddTextDelegate(Panel p, String text);

private void AddText(Panel p, String text)
{
p.Children.Clear();
p.Children.Add(new TextBlock { Text = text });
}

private void TestBeginInvokeWithParameters(Panel p)
{
if (p.Dispatcher.CheckAccess()) AddText(p, "Added directly.");
else p.Dispatcher.BeginInvoke(
new AddTextDelegate(AddText), p, "Added by Dispatcher.");
}

热点排行