2013-10-16 98 views
2

我從後臺線程在那裏我更新綁定的屬性的項目(MVVM)使用任務對象的工作:任務前關閉WPF窗口完成

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 
     }); 

上面的代碼的要點就是我我在做。從我收集的信息herehere我知道從任務線程更新我的視圖模型的屬性不是問題 - 我對此沒有任何問題。

我的問題是 - 當任務完成之前關閉包含綁定控件的窗口時會發生什麼?步驟2?當我關閉窗口時,我沒有收到任何錯誤,並且在步驟3上放置斷點不會受到影響。

+1

閱讀http://msdn.microsoft.com/en-us/library/dd997396.aspx文章 –

回答

1

在視圖處置後更新ViewModel沒有任何問題。綁定將被WPF破壞,視圖將不再連接到您的ViewModel。 PropertyChanged事件將不被注意。這就是MVVM的美妙之處:在VM層工作時,您不必擔心視圖正在做什麼。