在程序初始化的过程中,如窗体加载的时候,WPF会调用后台的LOAD事件中的代码,渲染界面。但是之后WPF界面就是单独一个线程在管理。所以如果之后在后台修改代码的话会出现“The calling thread cannot access this object because a different thread”这样的异常,这是说我们用了WPF处理逻辑运算的线程,去修改UI线程中的内容。这样的异常也很容易处理。因为WPF规定界面要用单独的线程,所以我们拿到处理界面的线程就可以了。通常会用
Dispatcher.BeginInvoke(
new ThreadStart(() =>
{
这个线程来处理。
}));
在这个线程中修改界面就不会有任何问题了。