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 Phone .NET Discussion :

[MVVM] Passer un objet par la messagerie


Sujet :

Windows Phone .NET

  1. #1
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut [MVVM] Passer un objet par la messagerie
    Hello,

    Disons que j'ai un modèle de données qui comporte 3 propriétés A, B et C.

    dans ma vue ces propriétés sont relativement définient par:

    - ListPickerA
    - ListPickerB
    - TextBoxC

    donc le problème se pose lorsque je veux permettre de modifier cet objet via une vue EditObject et un modèle de vue ViewModelEditObject.

    par quel type de message puis-je passer pour transmettre les 3 valeurs actuelles des propriétés à modifier.

    Car je veux que les valeurs actuelles soient sélectionnés dans les contrôles de la vue de modification.

    ça fonctionne bien avec une seule valeur mais je ne sais pas comment faire avec un objet ayant plusieurs propriétés.

    Merci
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Ben deja tu peux utiliser le meme view model ca t'evitera ce probleme.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Oui c'est vrai mais la dernière fois tu m'as dit que c'était pas recommandé.

    Entre temps, j'ai suis parvenu à initialiser les valeurs du ViewModel d'édition avec les valeurs de l'objet sélectionné.

    le problème est que les ListPickers de la vue ne sélectionne pas les valeurs des propriétés bien que je sois en Mode TwoWay !

    Code de lancement de la modification:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    case "PivotItemCategories":
    (this.SelectedCategory.SubCategories.Count!=0)
    {
      ViewModelLocator.SubCategoryEditStatic.PropertyA=this.PropertyA;
      ViewModelLocator.SubCategoryEditStatic.PropertyB=this.PropertyB;
      ViewModelLocator.SubCategoryEditStatic.PropertyC=this.PropertyC;
      GalaSoft.MvvmLight.Messaging.Messenger.Default.Send<string>("/Views/EditPage","NavigationRequest");
    }
    break;
    ....
    donc ce code m'initialise bien les propriétés du ViewMode d'édition mais la vue se met pas à jour !

    Merci
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  4. #4
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Je me suis fait avoir par un copier coller de daube...............

    Désolé
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passer un objet par valeur et non référence
    Par Pynouz dans le forum C#
    Réponses: 2
    Dernier message: 14/01/2011, 09h42
  2. Réponses: 9
    Dernier message: 09/12/2010, 16h33
  3. passer un objet par reference a bindingsource.add()
    Par ZashOne dans le forum Framework .NET
    Réponses: 5
    Dernier message: 01/04/2008, 18h09
  4. [debutant]passer un objet par const reference
    Par Battosaiii dans le forum Débuter
    Réponses: 6
    Dernier message: 12/11/2005, 14h39
  5. [JACOB] Comment passer un objet par référence à une méthode
    Par zlavock dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 21/03/2005, 18h28

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