最佳答案
我最近开始用 WPF 编程,遇到了以下问题。我不明白如何使用 Dispatcher.Invoke()
方法。我在线程方面有经验,并且我已经编写了一些简单的 Windows 窗体程序,在这些程序中我只使用
Control.CheckForIllegalCrossThreadCalls = false;
是的,我知道这是相当蹩脚,但这些是简单的监视应用程序。
事实上,现在我正在做一个 WPF 应用程序,它在后台检索数据,我开始了一个新的线程,使调用检索数据(从一个网络服务器) ,现在我想显示它在我的 WPF 表单。问题是,我无法从这个线程设置任何控件。连个标签都没有。这个问题怎么解决?
回答评论:
@ Jalfp:
所以当我得到数据时,我在“新胎面”中使用这个 Dispatcher 方法?或者我应该让后台工作人员检索数据,把它放到一个字段中,然后启动一个新的线程,直到这个字段被填满,然后调用调度程序将检索到的数据显示到控件中?