在 WPF 中,UI 元素更新仅允许在 UI 调度程序线程上进行。因此,尝试从单独的线程更新 UI 元素将以异常结束。 我在互联网上找到的解决此问题的唯一方法是:
ThreadStart start = delegate(){
Dispatcher.Invoke(DispatcherPriority.Normal, new Action...
};
new Thread(start).Start();
Java 有 SwingUtilities.invokeLater做同样事情的方法。
我的问题是:是否有一个专门的 WPF 实用程序类与 Java SWING SwingUtilities.invokeLater 等效? ?
最佳答案
Dispatcher.BeginInvoke(
new Action(() => {
label.Text = "Foo"
})
);
可能更接近 invokeLater 语法
关于c# - WPF 中的 SwingUtilities.invokeLater 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371955/