保持ViewModel Collection与Model同步的最佳方法是什么

时间:2010-05-14 12:48:45

标签: .net wpf

在我的应用程序中,我有一个模型对象,其中包含一个经常更新的集合List<Chair>。 ViewModel有ObservableCollection<ChairViewModel>包裹List<Chair>

由于List<Chair>经常更新,我需要让ObservableCollection<ChairViewModel>与其同步,以便List<Chair>中的每个更改都会反映在WPF用户界面上。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这实际上取决于您的申请的细节,因为您将处理权衡,只有您有足够的信息可供选择。

我过去使用的一些方法是:

  • 让模型提供细粒度的更改通知,并让VM订阅这些通知
  • 拥有视图模型调用的服务图层以获取模型数据。服务层可以定期从模型
  • 更新其缓存
  • 尽可能延迟与模型的通信,并尝试自动将本地缓存与模型同步

有很多方法,但为您的应用选择合适的方法是关键。