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 questions et conseils


Sujet :

Windows Presentation Foundation

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut MVVM questions et conseils
    Bonjour,

    alors je ne suis pas dev.. j'apprends la programmation seul sur mes temps libre depuis env 6 mois
    je veux me faire mon propre logiciel j'ai déjà fait pleins de versions mais c'est toujours du bricolage de crasseux..

    je suis parti sur du WPF et maintenant j'essaye de faire un truc propre en MVVM mais c'est chaud .. je galère dessus depuis 2-3 semaines

    j'ai plusieurs questions ou seul des personnes d’expérience pourront me conseiller je pense

    mon appli pour simplifier

    on va dire que j'ai 2 classes

    class Humain -> 45 propriétés
    class Animal -> 30 propriétés

    mon UI a 2 boutons :

    button "Humain"
    button "Animal"

    quand on clic sur humain ça fait apparaître un datagrid ou une viewlist avec un datatemplate

    1) je me demande ce qui est le mieux entre datagrid et viewlist sachant que je veux ajouter des checkbox ou bouttons dans le résultat affiché.. j’étais d'abord partie sur un datagrid mais le viewlist avec datatemplate semble donner un meilleur look ?

    2) pour le moment je me sert de Viewlist.Visibility = Visibility.Visible; ou Viewlist.Visibility = Visibility.Hidden; pour afficher ou cacher mes viewlist est acceptable comme solution ?

    pour la partie MVVM je sais pas trop comment m'y prendre..
    je suis partie pour mettre mes 2 classes Humain et Animal dans le Model avec INotifyPropertyChanged sur toute les propriétés
    dans le modele-view une ObservableCollection<Animal> ListAnimal et une ObservableCollection<Humain> ListHumain

    par contre les méthodes qui calcul les propriétés de mes class c'est dans la partie model ou model-view ?
    je pensais peut être a faire un task pool pour calculer le plus rapidement toute les propriété afin de construire L'ObservableCollection en temps réel ?

    si je veux que certaines de mes propriétés s'affichent en vert ou autre je dois le faire dans la partie view model ou xaml ?

    mm j'ai regardé énormément de code MVVM sur youtube ou Codeprojet etc..
    soit c'est trop compliqué je comprends rien..
    soit c'est trop basic et du coup ça m'aide pas .. dur dur d'être nul quand on débute..

    bref si vous avez des conseils ou exemple de code etc je prend !!


  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour

    ) je me demande ce qui est le mieux entre datagrid et viewlist sachant que je veux ajouter des checkbox ou bouttons dans le résultat affiché.. j’étais d'abord partie sur un datagrid mais le viewlist avec datatemplate semble donner un meilleur look ?
    C'est affaire de design ou si tu veux "look"

    2) pour le moment je me sert de Viewlist.Visibility = Visibility.Visible; ou Viewlist.Visibility = Visibility.Hidden; pour afficher ou cacher mes viewlist est acceptable comme solution ?
    C'est moche et inadapté ,TabPanel est ami...avec 2 TabItems "animaux" et "humains" (ce qui rend superflus les 2 buttons)....

    pour la partie MVVM je sais pas trop comment m'y prendre..
    je suis partie pour mettre mes 2 classes Humain et Animal dans le Model avec INotifyPropertyChanged sur toute les propriétés
    dans le modele-view une ObservableCollection<Animal> ListAnimal et une ObservableCollection<Humain> ListHumain
    Partie la plus délicate ...!!!

    1/Dans Model :supprimer l'implémentation de INotifyPropertyChanged...

    2/ Dans Model-View:
    - implémenter INotifyPropertyChanged...
    - implémenter ICommand
    3/ Les méthodes Save ,Delete ,New doivent se faire via un Command

    A chaque Command est associé une méthode ...
    Un Button est bindé à chaque Command(Button.Command ={Binding etc ...}
    On peut associer des Buttons et assimiles (Checkbox,MenuItem,etc ..)
    Ainsi que des buttons pour d'autres méthodes...
    Il faut explorer l'implémentation de ICommand...
    si je veux que certaines de mes propriétés s'affichent en vert ou autre je dois le faire dans la partie view model ou xaml ?
    C'est du ressort de l'interface ,c.à.d. du xaml ...
    Mais ces frétillements de de l'interface peuvent dépendre des props du Model ou du View-Model
    et les Triggers du DataTemplate sont là pour résoudre ce problème !!!
    bon code...

Discussions similaires

  1. [PHP 5.5] Question et conseil, websockets et PHP
    Par Rifton007 dans le forum Langage
    Réponses: 7
    Dernier message: 13/02/2016, 21h31
  2. [MVVM] question -bête de newbie- de base
    Par Troopers dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 28/02/2011, 08h41
  3. [MVVM]Questions d'un débutant sur les views et view-models
    Par Takumi dans le forum Windows Presentation Foundation
    Réponses: 45
    Dernier message: 26/08/2010, 09h30
  4. quelques questions et conseils!
    Par redah75 dans le forum MySQL
    Réponses: 48
    Dernier message: 26/02/2009, 16h40
  5. Conseils pour poser votre question...
    Par Community Management dans le forum XMLRAD
    Réponses: 0
    Dernier message: 30/01/2003, 16h58

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