当我们在编程过程中想用委托或异步,Thread调用方法改变对象属性时,容易引起另一个线程拥有该对象,无法访问的现象,这是线程之间的没有关联的问题,解决此问题我们就需要将委托回来的线程对象和当前的线程进行关联,关联之后便可相互访问了。
Dispatcher.Invoke(
// ()=> delegate 都可以
new Action(()=>
{
//将引发问题的代码放入此处
//便可解决此问题
textblock.Text = i.ToString()+"秒后退出";
}
));