2014-10-08 65 views
0

我正在閱讀本文以學習MVVM light。如何獲取綁定數據aync

http://msdn.microsoft.com/en-us/magazine/jj651572.aspx

在MainViewModel.cs,它調用ExecuteRefresh()在RelayCommand,並調用dataService.GetFriends()。我沒有看到任何地方dataService.GetFriends()正在其他地方被調用。 並且Refresh RelayCommand綁定到按鈕中的Command。

我的問題是如何加載最初的朋友列表(即在用戶刷新之前,他應該看到列表)。這是如何填充的?

而我的理解是一個頁面顯示時的綁定。 但是對於通過網絡獲取數據,當數據到達時如何觸發頁面的「重新綁定」?

回答

0

您綁定到虛擬機上的屬性,如果這是一個集合,那麼類似ObservableCollection更好。

當該屬性的發生變化時,您將引發一個NotifyPropertyChanged(在該屬性的setter中說),它將負責讓UI知道。

所以不,即使綁定發生得很早(如果您願意,您可以重新綁定)數據可以隨意更改,因爲它可以隨時更改......並且很可能是通過異步服務呼叫或基於用戶交互或其他意味着數據在頁面加載時不可用的情況。