2010-05-14 3 views
1

Dans mon application, j'ai un objet de modèle qui contient une collection qui est mis à jour fréquemment. ViewModel a un ObservableCollection<ChairViewModel> qui enveloppe List<Chair>.Quelle est la meilleure façon de synchroniser ViewModel Collection avec le modèle

Depuis List<Chair> est mis à jour fréquemment, je dois garder ObservableCollection<ChairViewModel> en synchronisation avec elle afin que chaque changement dans List<Chair> se reflète sur l'interface utilisateur WPF.

Des idées?

Répondre

2

Cela dépend vraiment des spécificités de votre application car vous aurez à faire des compromis pour lesquels vous aurez seulement suffisamment d'informations à choisir.

Quelques approches que je l'ai utilisé dans le passé sont:

  • Demandez le modèle des notifications à grains fins de modifications et ont les machines virtuelles abonner à ces notifications
  • ont une couche de service que vos modèles de vue appeler pour obtenir des données de modèle. La couche de service peut périodiquement mettre à jour son cache du modèle
  • communications retard avec le modèle le plus longtemps possible et essayer de synchroniser automatiquement un cache local avec le modèle

Il existe de nombreuses approches, mais en choisissant le bon pour votre application est la clé.

Questions connexes