SwingUtilities.在WPF中相当于invokeLater

本文关键字:相当于 invokeLater WPF SwingUtilities | 更新日期: 2023-09-27 18:16:30

在WPF UI元素更新'只允许在UI调度线程。因此,尝试从单独的线程更新UI元素将以异常结束。我在网上找到的解决这个问题的唯一方法是:

ThreadStart start = delegate(){
    Dispatcher.Invoke(DispatcherPriority.Normal, new Action...
};
new Thread(start).Start();

Java有swingutility。方法来做同样的事情

我的问题是:是否有一个专门的WPF实用程序类与Java SWING swinguutilities . invokelater等效?

SwingUtilities.在WPF中相当于invokeLater

Dispatcher.BeginInvoke(
   new Action(() => {
      label.Text = "Foo"
   })
);

可能更接近invokeLater的语法

我很确定答案是:没有(除了Dispatcher,我认为它会帮助你很多)。

对代码的注释:线程不是必需的。只使用

Dispatcher.Invoke(...)