我正在阅读这篇文章以学习MVVM光。
http://msdn.microsoft.com/en-us/magazine/jj651572.aspx
在MainViewModel.cs中,它在RelayCommand中调用ExecuteRefresh(),并调用dataService.GetFriends()。我没有看到dataService.GetFriends()在其他地方被调用。 并且Refresh RelayCommand被绑定到按钮中的Command。
我的问题是如何加载初始好友列表(即在用户刷新之前,他应该看到列表)。如何填充?
我的理解是在显示页面时完成a的绑定。 但是,为了通过网络获取数据,我们如何在数据到达时触发页面的“重新绑定”?
答案 0 :(得分:0)
您绑定到VM上的属性,如果这是一个集合,那么像ObservableCollection
这样的东西会更好。
当该属性的值发生变化时,您将引发一个NotifyPropertyChanged
(在该属性的设置者中说),它将负责让UI知道。
所以不,即使绑定发生得很早(如果您愿意,也可以重新绑定),数据可以随意更改......这很可能通过异步服务调用,或基于用户交互,或其他意味着数据在页面加载时不可用。