大家好我正在将我的一个项目从windowsforms切换到WPF。到目前为止,我使用这段代码用另一个线程的数据调用我的GUI对象:
this.Invoke(new Action<NewDiagPacketArrivedEventArgs>(DoSomething), e);
如何在WPF中执行相同的操作?我发现了一些关于使用调度员的帖子,但我无法让它发挥作用。我想有一个简单的解决方案。如果你知道关于这个主题的任何指南,我将不胜感激。
由于
答案 0 :(得分:5)
试试这个
this.Dispatcher.Invoke(()=>DoStuffOnGUIThread());
DoStuffInGUIThread()是包含要在UI线程上执行的代码的方法。
答案 1 :(得分:2)
在Winforms中,我们使用Control.Invoke来编组从其他线程到GUI线程的代码。 在WPF的Dispatcher.Invoke中,每个Dispatcher对象都有自己的Dispatcher,在那个队列中它将被封送。
Dispatcher.BeginInvoke(new Action(() =>
{
//Your code
}));