WPF跨线程遍历访问容器内的控件 10

在一个新开始的线程内跨线程访问单个控件这样写:checkbox1.Dispatcher.BeginInvoke(newAction(()=>checkbox1.IsChe... 在一个新开始的线程内跨线程访问单个控件这样写:checkbox1.Dispatcher.BeginInvoke(new Action(() => checkbox1.IsChecked = true));没有问题;如果UI的stackPanel内有20个checkBox,想使用for或foreach执行上面的代码,全部赋值为true,怎么做?
下面的写法编译没有问题,但会报错"跨线程不能访问"(sp1为StackPanel控件,这个代码在同线程里没有问题):
((CheckBox)sp1.Children[i]).Dispatcher.BeginInvoke(new Action(() => ((CheckBox)sp1.Children[i]).IsChecked = true));
展开
 我来答
tangmanger
2018-01-12 · 超过30用户采纳过TA的回答
知道答主
回答量:88
采纳率:87%
帮助的人:19万
展开全部
this.Dispatcher.Invoke(new Action(() =>{
//TODO:更新UI控件操作
}));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式