2010-12-01 8 views
0

je suis nouveau à wpf et je conçois une application client-serveur en utilisant wpf pour l'interface utilisateur j'ai une vue - voir le modèle, datalist et le modèle de communication ma vue et le modèle de vue formeront un contrôle utilisateur suivants sont mes doutes:utilisation du modèle mvvm dans l'application wpf

  1. si je garde mon datalist intérieur viewmodel, comment autre point de vue modèle peut y accéder
  2. si je garde mon datalist en application afin que toute vue peut y accéder, que ce soit moi le modèle sera en mesure de mettre à jour par liaison
  3. il wi Sera un bon design si mon modèle de vue appelle mon modèle de communication directement ou devrais-je garder une classe enveloppante entre les deux.

Thanx

Sarika

Répondre

0

Vous devriez penser à utiliser un modèle référentiel pour accéder à votre liste d'articles. Vos viewmodels doivent travailler contre une abstraction de ce référentiel (par exemple IPeopleRepository), et vous devez passer une implémentation concrète de ce référentiel dans votre viewmodel via l'injection (par exemple via l'injection du constructeur). Votre implémentation concrète peut appeler votre modèle de communication pour récupérer la liste des éléments.

En règle générale, votre référentiel renverra un type de collection qui n'est pas spécifique à WPF. Vous voudrez probablement envelopper ceci dans une ObservableCollection sur votre viewmodel, de sorte que l'interface utilisateur soit avertie des modifications apportées à la collection. Savoir si chaque viewmodel récupère une nouvelle référence à cette collection ou si tous les utilisateurs accèdent à la même collection dépendra de votre cas d'utilisation, mais aussi longtemps que la collection est exposée en tant que propriété sur votre DataContext (typiquement votre viewmodel) , vous pourrez ensuite lier la collection pour l'afficher et la mettre à jour depuis la vue.