引用 Marc Gravell 的话:
///...blah blah updating files
string newText = "abc"; // running on worker thread
this.Invoke((MethodInvoker)delegate {
someLabel.Text = newText; // runs on UI thread
});
///...blah blah more updating files
我正在寻找使用 WPF 执行此操作,因此无法使用该invoke
方法。有什么想法吗?这个线程的东西正在我的脑海中:/
更多详情
我像这样开始了我的新主题
Thread t = new Thread (LoopThread);
t.Start();
t.Join();
但自始至终LoopThread
,我都想写入 UI。
更新
感谢 Jon Skeet Dispatcher.Invoke
。似乎MethodInvoker
也是 WinForms。WPF等效?
更新 2
感谢阿德里亚诺建议而不是System.Windows.Forms.MethodInvoker
使用System.Action
.
(你们对this
参数混淆是正确的,只需要构建以消除错误。)
自从添加了总线SimpleInvoke
,现在我很喜欢
Extension method must be defined in a non-generic static class
在线上
public partial class MainWindow : Window
有什么想法吗?