【问题标题】:How does binding work if the data is fetched aync如果同步获取数据,绑定如何工作
【发布时间】:2014-10-08 23:51:41
【问题描述】:

我正在阅读这篇文章来学习 MVVM light。

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    当该属性的发生变化时,您将提出一个NotifyPropertyChanged(在该属性的设置器中),它将负责通知 UI。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 2015-12-08
      • 1970-01-01
      相关资源
      最近更新 更多