IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

MVVM Définition des ViewModel sur un cas concret.


Sujet :

Windows Presentation Foundation

  1. #1
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut MVVM Définition des ViewModel sur un cas concret.
    Bonjour,

    je suis en train d'étudier le développement d'une application cliente WPF s'appuyant sur MVVM que je découvre petit à petit. Je m'interroge sur quels ViewModel je dois développer.
    Voici grosso modo, le principe de l'application:
    L'application sera constituée d'un UserControl "Menu" situé sur la gauche de la fenêtre, d'un UserControl "Principal" situé au centre de la fenêtre et d'une barre d'outil en haut de la fenêtre.
    Le Menu sera constitué d'un TreeView. Celui-ci affichera un premier répertoire avec l'ensemble des pompes disponibles et un deuxième répertoire avec les pompes favories de l'utilisateur.
    Lorsque l'utilisateur double cliquera dans le menu sur une pompe, celle-ci sera ajoutée dans un tableau de visualisation situé sur le UserControl Principal. L'utilisateur peut visualiser plusieurs pompes simultanément.
    La barre d'outils comportera notamment un bouton permettant d'afficher une fenêtre de création de pompe.

    Je me dit que je dois créer un ViewModel distinct pour :
    - le UserControl Menu,
    - le UserControl principal,
    - l'application,
    - la barre d'outils
    - la fenêtre de création d'une pompe,
    - la pompe

    Qu'en dites-vous ?
    De manière plus détaillée, cela donnerait:

    MenuViewModel
    |_ AllPompes :: ObservableCollection<Pompe>
    |_ FavorisPompesOfUser :: ObservableCollection<Pompe>
    |_ AjoutPompe :: ICommand

    PrincipalViewModel
    |_ DisplayedPompes :: ObservableCollection<Pompe>

    MainWindowViewModel
    |_ Menu :: MenuViewModel
    |_ PrincipalView :: PrincipalViewModel

    ToolBarViewModel
    |_ ShowCreationPompe :: ICommand

    CreationPompeWindowViewModel
    |_ CreationPompe :: ICommand

    PompeViewModel
    |_ ThePompe :: Pompe
    Qu'en pensez-vous ?
    Je ne sais pas trop comment définir CreationPompeWindowViewModel et PompeViewModel.
    Est-il juste de faire un ViewModel pour la ToolBar ?
    Enfin, lorsque l'utilisateur va double-cliquer sur un élément Pompe dans le TreeView, cela va déclencher l'appel à la commande AjoutPompe. Je me dis pour que cela ajoute la pompe sélectionnée à la vue principal, il faut que la pompe sélectionnée soit ajoutée à la collection DisplayedPompes de PrincipalViewModel. Comment est-ce que je peux faire ça ? Est-ce qu'il faut que le ViewModel référence aussi la collection DisplayedPompes ?

    Beaucoup de questions,
    Merci d'avoir pris le temps de tout lire.
    et d'avance pour vos réponses,
    Zoax

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Faut pas créer un viewmodel pour tout non plus. Pas mal de usercintrol n'en ont pas besoin, ils vint chercher les données sur le viewmodel de la page.

    Si tu débutes le mvvm, il y a un livre écrit par 2 MVP qui sévissent ici : Thomas Lebrun et Jonathan Antoine : MVVM, de la découverte à la maitrise. dispo dans toutes les bonnes crémeries.
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    Si tu débutes le mvvm, il y a un livre écrit par 2 MVP qui sévissent ici : Thomas Lebrun et Jonathan Antoine : MVVM, de la découverte à la maitrise. dispo dans toutes les bonnes crémeries.
    Acheté récemment, j'en suis très satisfait. Je ne peux que te le recommander pour découvrir MVVM ou approfondir tes connaissances.

  4. #4
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut
    Bonjour,

    merci pour la réponse.
    Je pense effectivement qu'il faudrait que je m'achète un livre.
    En attendant, comment verriez-vous la chose ?

    Merci d'avance,
    Zoax

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par yonpo Voir le message
    Acheté récemment, j'en suis très satisfait. Je ne peux que te le recommander pour découvrir MVVM ou approfondir tes connaissances.
    Merci

Discussions similaires

  1. [Débutant] Procédural ou Objet : votre avis sur un cas concret
    Par labraise dans le forum VB.NET
    Réponses: 13
    Dernier message: 26/09/2014, 12h09
  2. Réponses: 7
    Dernier message: 18/07/2010, 18h27
  3. Réponses: 1
    Dernier message: 28/02/2008, 08h17
  4. pb: controle des infos sur cases à cocher: cas particulier
    Par slyfer dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/02/2007, 21h17
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo