您的位置:首页 > 其它

WPF调用线程 解决“调用线程无法访问此对象,因为另一个线程拥有该对象“问题

2015-08-19 10:00 417 查看
在winform或者wpf,后台线程是无法访问和修改UI层的。

在Winform中,我们需要调用控件的 Invoke/BeginInvoke 方法来将代码扔回至UI线程执行。

而WPF是需要调用UI线程的 Dispatcher.Invoke/BeginInvoke 来做。

this.Dispatcher.Invoke(new Action(()=>{

                   this.Visibility = Visibility.Visible;

                }));

在winform中,也可以这样解决:

private delegate void ControlsRemove();

if (panel1.InvokeRequired)

{

     ControlsRemove call = delegate()

     {

           //this.panel1.Controls.Clear();

     };

     panel1.Invoke(call);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: