-2

我将应用程序从 WindowsForms 移动到 WPF。我有以下代码:

        if (InvokeRequired)
        {
            Invoke(new Action<Version, Version, XDocument>(ShowUpdateDialog), appVersion, newVersion, doc);
            return;
        }

如何在 WPF 上编写相同的代码?谢谢

4

1 回答 1

2

您在这里确实没有提供足够的上下文。在过去使用 Windows 窗体时,当我想做与另一个线程相关的 UI 时,我会检查 InvokeRequired 是否为真,WPF 中的等价物是:

Application.Current.Dispatcher.Invoke(new Action<Version, Version, XDocument>(ShowUpdateDialog), appVersion,
                                              newVersion, doc);

这会将操作推送到将同步执行的 UI 线程上,并且如果您从 UI 线程本身调用它不会导致问题。

于 2013-06-09T12:28:56.743 回答