如果同步获取数据,绑定如何工作

时间:2014-10-08 23:51:42

标签: c# windows-phone-8 mvvm mvvm-light

我正在阅读这篇文章以学习MVVM光。

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

在MainViewModel.cs中,它在RelayCommand中调用ExecuteRefresh(),并调用dataService.GetFriends()。我没有看到dataService.GetFriends()在其他地方被调用。 并且Refresh RelayCommand被绑定到按钮中的Command。

我的问题是如何加载初始好友列表(即在用户刷新之前,他应该看到列表)。如何填充?

我的理解是在显示页面时完成a的绑定。 但是,为了通过网络获取数据,我们如何在数据到达时触发页面的“重新绑定”?

1 个答案:

答案 0 :(得分:0)

您绑定到VM上的属性,如果这是一个集合,那么像ObservableCollection这样的东西会更好。

当该属性的发生变化时,您将引发一个NotifyPropertyChanged(在该属性的设置者中说),它将负责让UI知道。

所以不,即使绑定发生得很早(如果您愿意,也可以重新绑定),数据可以随意更改......这很可能通过异步服务调用,或基于用户交互,或其他意味着数据在页面加载时不可用。