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

Silverlight Discussion :

Probleme d'utilisation du pattern MVVM


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Par défaut Probleme d'utilisation du pattern MVVM
    Bonjour,

    J'ai un petit soucis d'utilisation (de comprehension ?) avec le pattern MVVM.

    Je l'ai implemente dans mon application Silverlight et je me retrouve confronte au cas ou j'ai une View B contenue dans une View A. En revanche les deux Views ont chacunes leur propre ViewModel.

    Dans le XAML de la View A, ca donne quelquechose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!-- les controls de la View A--->
     
     <Grid>
         <Views:ViewB />
     </Grid>
     
    <!-- d'autres controls de la View A -->
    J'utilise PRISM pour injecter mes ViewModel dans les View, et lorsqu'un ViewModel est cree, j'appelle la fonction suivante de la View associee :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      public void SetViewModel(IAViewModel viewModel)
        {
          DataContext = viewModel;
        }
    Le probleme c'est que ma View B se retrouve associee au ViewModel de la ViewA, mais je ne comprend pas pourquoi. Est-ce parceque je dois specifier dans le XAML que ViewB ne doit pas etre 'Bindé' au DataContext de la View A ?

    Merci

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par graphicsxp Voir le message
    Le probleme c'est que ma View B se retrouve associee au ViewModel de la ViewA, mais je ne comprend pas pourquoi.
    Parce que le DataContext est hérité par les enfants. Donc, tu affectes ton DataContext à ta vue A mais dedans, tu utilises ta vue B donc elle hérite de ce fait du DC.

    Pour ton problème, il faut simplement que tu réinjectes le ViewModel de la vue B sur le DataContext de la vue B.

  3. #3
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Par défaut
    Parce que le DataContext est hérité par les enfants. Donc, tu affectes ton DataContext à ta vue A mais dedans, tu utilises ta vue B donc elle hérite de ce fait du DC.
    Oui c'est ce qu'il me semblait.

    Pour ton problème, il faut simplement que tu réinjectes le ViewModel de la vue B sur le DataContext de la vue B.
    Ca n'est pas si simple justement. Je ne vois pas tres bien a quel moment je pourrais le faire. En effet comme je l'ai indique, j'utilise PRISM pour injecter les ViewModels dans les Views. Je viens de me mettre a PRISM, donc le probleme vient peut etre de la, car ce n'est pas evident a mettre ne place !

    Merci pour ton aide.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/01/2007, 21h51
  2. Probleme d utilisation de template dans le cpp
    Par Math75 dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2005, 16h26
  3. [Système][Environnement] Problème d'utilisation?!?
    Par waldo2188 dans le forum Général Java
    Réponses: 5
    Dernier message: 23/03/2005, 17h18
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

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