经常会被这样问到,其实就是面试的时候,很多时候会被这样问道,从一个非ui线程更改更改ui线程,最简单的是更改一个form的标题,或者更改一个txtbox的内容。
winform和wpf 是有所不同的,winform直接用this.Invoke()方法直接更改就行了,wpf没有直接的invoke,要Dispatch.Invoke();
简单的例子:
this.Dispatcher.Invoke((Action)delegate{this.Title="爱喝可乐";});
如果要是从一个类库去更改主线程的话,就不弄用this了,要用AppApplication.Current.Dispatcher.Invoke(....)这样去寻找