赵庭雨,羊角风naoke.cc,吉林四逃兵
WPF中使用线程操作控件,按平常的操作方法操作的话会报异常:调用线程无法访问此对象,因为另一个线程拥有该对象。所以我们要使用Dispatcher类的BeginInvoke()与Invoke()方法。BeginInvoke()异步执行,不等待委托结束就更新,Invoke()同步执行,需等待委托执行完。
有一个Lable控件:
<Label x:Name="test" Content="测试"></Label>
1.获取控件的值:
string lblContent =""; Dispatcher.Invoke(new Action(delegate { lblContent=test.Content.ToString(); //如果有其他操作也可以写在这里 }));
2.给控件赋值:
Dispatcher.Invoke(new Action(delegate { test.Content="给控件赋值"; //如果有其他操作也可以写在这里 }));
勿忘初心,方得始终。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论