Partage
  • Partager sur Facebook
  • Partager sur Twitter

Plusieurs versions d'un seul écran selon bouton

Sujet résolu
    17 juin 2019 à 16:33:55

    Bonjour, désolé si le titre semble nébuleux je ne savais pas comment donner plus d'information avec l'espace possible !

    Je suis débutant avec le WPF, et j'aimerais savoir s'il est possible, et si oui comment, de faire un écran qui affiche différentes choses selon le bouton avec lequel on l'ouvre (je travaille en MVVM).

    - Par exemple, si j'appuie sur le bouton 1, j'arrive sur l'écran 1 version 1.

    - Si j'appuie sur le bouton 2, j'arrive sur l'écran 1 version 2.

    - Sur le bouton 3, j'arrive sur l'écran 1 version 3.

    Dans l'ensemble, les trois versions de cet écran sont identiques. Mais des petites choses changent (le titre, une radio box qui disparait, ...). Les changement ne me semble pas compliqués (par exemple, ma propriété titre étant bindé, je peux tester si bouton 1 à été cliqué, et si oui alors charger le titre écran 1 version 1.)

    Il me manque simplement le "comment" pour faire le lien entre le bouton de l'écran précédent et récupérer l'information.

    Merci d'avance :)

    -
    Edité par Jean-Germain 17 juin 2019 à 16:34:42

    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2019 à 17:10:22

      Si tu as peu d'éléments concernés, tu peux gérer la visibilité de chaque élément sur la même page
      (Avec le paramètre Visibility. De mémoire il y a une histoire avec Collapsed aussi, pour adapter le layout de chaque élément avec sa visibilité. Je sais plus).

      Si tu as beaucoup d'éléments, j'entrevois 2 potentielles solutions :
          1) Faire plusieurs userControls et Load celui associé à la touche appuyée.
         
          2) Un TabControl avec un TabItem invisible pour chaque fenêtre. Pareil, ne pas utiliser le collapsed.

      -
      Edité par LilyKianii 17 juin 2019 à 17:18:16

      • Partager sur Facebook
      • Partager sur Twitter
        17 juin 2019 à 17:11:30

        Salut,

        Je suis pas un expert WPF mais je suppose que chacun de tes écrans à sa propre classe.

        Pourquoi ne peux pas utiliser plusieurs constructeurs de cet écran pour initialiser/customiser l'affichage en fonction des paramètres que tu as passé, qui différeront selon le bouton cliqué

        • Partager sur Facebook
        • Partager sur Twitter
          18 juin 2019 à 9:12:52

          Bonjour, 

          Justement le but est de n'avoir qu'une classe, tout les ecrans sont identiques à quelques détails prês. Du coup, seul le fait d'appuyer valider va faire une chose différente, mais le reste des bindings est identique.

          Plusieurs constructeurs pour un écran, je ne sais pas si c'est possible en MVVM ? Dans l'absolu je n'ai qu'un seul écran, une classe, et je ne tape rien dans le code behind.

          J'ai pensé à "visibility", et c'est le pense la meilleure option (comme je le disais, très peu d'éléments différents, globalement une radio box va changer, et le titre eventuellement). 
          Mais je ne sais pas comment donner l'information du "j'ai appuyé sur bouton 1" ou "le bouton 2" pour accéder à cet écran".

          Edit : c'est bon, je confondais "isVisible" et "Visibility", je ne connaissais pas la propriété. Ca fonctionne parfaitement maintenant, merci beaucoup !

          Merci pour vos réponses !

          -
          Edité par Jean-Germain 18 juin 2019 à 9:48:32

          • Partager sur Facebook
          • Partager sur Twitter

          Plusieurs versions d'un seul écran selon bouton

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown