如何在当前事件继续进行之前,如何获得一项跨跨性别的事件即将出现

  • 本文关键字:事件 一项 继续 何获得 c# wpf
  • 更新时间 :
  • 英文 :

private void Build_Button(object sender, RoutedEventArgs e)
    {
        T.BuildStatus = "Building...";            
        BuildSelected(T.ListofTrucks);                  
        T.BuildStatus = "Build Complete";
    }

目前,我有一个标签,刻有我要显示"构建..."的t.buildstatus,而我的文件进行了编译,但只有在buildSelected方法完成后,标签才会更新。在继续进行事件调用之前,我该如何使此标签更新?

编辑:对象t正确实现了正确的propertychanged

让我们假设BuildSelected(T.ListofTrucks);是CPU绑定的工作。如果在UI线程上调用它,它将阻止INotify更新,即,由于UI线程繁忙,因此无法更新。最简单的修复:

private async void Build_Button(object sender, RoutedEventArgs e)
{
    T.BuildStatus = "Building...";            
    await Task.Run(() => BuildSelected(T.ListofTrucks));                  
    T.BuildStatus = "Build Complete";
}

或IO操作:

private async void Build_Button(object sender, RoutedEventArgs e)
{
    T.BuildStatus = "Building...";            
    await BuildSelectedAsync(T.ListofTrucks));                  
    T.BuildStatus = "Build Complete";
}

async Task BuildSelectedAsync(ListofTrucks x)实现将根据IO操作和您确切的工作而有所不同。

最新更新