【发布时间】:2017-03-03 07:13:40
【问题描述】:
private void Build_Button(object sender, RoutedEventArgs e)
{
T.BuildStatus = "Building...";
BuildSelected(T.ListofTrucks);
T.BuildStatus = "Build Complete";
}
目前我有一个绑定到 T.BuildStatus 的标签,我想在编译文件时显示“Building...”,但标签只会在 buildSelected 方法完成后更新。在继续事件调用的其余部分之前,如何更新此标签?
编辑:对象 T 正在正确实现 INotifyPropertyChanged
【问题讨论】:
-
第 1 步:使用 MVVM,忘记您的 WinForms 背景。
-
@HristoYankov 我没有看到任何迹象表明他们没有...
-
我正在使用 MVVM,我认为更新 BuildStatus 的事件被延迟到按钮事件完成。
-
BuildSelected(T.ListofTrucks);看起来好像在您的 UI 线程上调用它,阻止任何和所有 UI 更新。如果它的 CPU 绑定使用Task.Run将其从 UI 线程中踢出,或者如果它的 IO 绑定将其设置为async。 -
@JSteward 你能解释一下如何做到这一点吗?我还没有在 wpf 中完成线程。