C# 在任务完成之前关闭WPF窗口

C# 在任务完成之前关闭WPF窗口,c#,wpf,multithreading,mvvm,task-parallel-library,C#,Wpf,Multithreading,Mvvm,Task Parallel Library,我正在处理一个项目,其中我正在使用任务对象从后台线程更新绑定属性(MVVM): Task.Factory.StartNew(() => { // 1. Update bound control to indicate that data is being loaded // 2. Perform long running call // 3. Display the loaded data

我正在处理一个项目,其中我正在使用任务对象从后台线程更新绑定属性(MVVM):

    Task.Factory.StartNew(() =>
        {
            // 1. Update bound control to indicate that data is being loaded

            // 2. Perform long running call

            // 3. Display the loaded data in the bound control
        });
上面的代码是我所做工作的要点。从我收集的信息中,我了解到从任务线程更新视图模型上的属性不是问题——我对此没有任何问题


我的问题是-当包含绑定控件的窗口在任务完成步骤2之前关闭时会发生什么?我没有收到任何错误,当我关闭窗口时,在步骤3上放置断点不会被击中。

在处理视图后更新ViewModel没有任何问题。WPF将破坏绑定,视图将不再连接到您的ViewModel。PropertyChanged事件将被忽略。这就是MVVM的美妙之处:当您在VM层中工作时,您不必担心视图在做什么。

阅读本文