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 :

comment utiliser les user Control


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 30
    Points
    30
    Par défaut comment utiliser les user Control
    Salut à tous
    bah je suis débutante en wpf mais quand même j'essaie de l'exporer.Alors pendant le développement de mon application j'ai rencontré un problème avec les user controles.Pour être précise,j'ai une seule window qui prendra directement le contrenu de mon premier user controle(cad sans condition dans initialize component())puis lors l'affichage de ce user control j'ai un bouton qui normalement dés qu'on clique sur mon window prendra le contenu de mon deuxième user control.Alors j'ai fait comme ca dans le code du deuxieme user controle
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ecran ecranForm = new ecran();
                ecran.Content = new Identification();
    mais ca ne marche pas
    merci pour toute aide

  2. #2
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Hello,

    Il faut que tu récupères le contrôle qu'il y a dans ta fenêtre. Cela peut être fait par exemple en lui donnant un nom avec l'attribut x:Name. Ensuite dans le code tu assignes son Content à new Identification();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leNomQueJaiDonneAEcranDansLeXAML.Content = new Identification();
    Sinon si cela ne marche pas, peut-tu fournir le code de ta fenêtre et le XAML utilisé ?

    Merci !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 30
    Points
    30
    Par défaut
    Bon mon window s'appelle ecran et c'est le même nom dans XAML mon premier user control ou il y le bouton s'appelle affichage et lors l'appui sur ce bouton mon deuxieme user control qui est identification doit apparaitre.j'espère que j'ai bien répondu

  4. #4
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Oui,

    Il doit apparaitre ou ? Dans le deuxième userControl ? Si oui utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    affichage.Content = new Identification();
    Sinon,

    Pourquoi fait tu ecran ecranForm = new ecran(); ?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 30
    Points
    30
    Par défaut
    il doit apparaitre dans mon window cad ecran et non pas dans l'user control :c'est pourquoi je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ecran ecranForm=new ecran();
    (Parce que mon but était de faire un seul window et que seul l'affichage change c'est pourquoi j'ai utilisé les user controls)

  6. #6
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Citation Envoyé par lorie Voir le message
    il doit apparaitre dans mon window cad ecran et non pas dans l'user control :c'est pourquoi je fais
    (Parce que mon but était de faire un seul window et que seul l'affichage change c'est pourquoi j'ai utilisé les user controls)
    Dans ce cas réutilise la fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Content = new Identification()

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 30
    Points
    30
    Par défaut
    Bon je suis vraiment reconnaissante pour toi jimix 90 parce que tu es entrain de me faire un coup de main.Mais je dois éclaircir une chose c'est que mon user controle que je veux l'afficher (l'affichage doit se faire dans le window ecran) c'est identification et c'est seulement lors du clique sur mon bouton qui se trouve dans mon user controle affichage.Donc comment faire

  8. #8
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Citation Envoyé par lorie Voir le message
    Bon je suis vraiment reconnaissante pour toi jimix 90 parce que tu es entrain de me faire un coup de main.Mais je dois éclaircir une chose c'est que mon user controle que je veux l'afficher (l'affichage doit se faire dans le window ecran) c'est identification et c'est seulement lors du clique sur mon bouton qui se trouve dans mon user controle affichage.Donc comment faire

    Hello,

    Je ne met que l'essentiel, et sans vérifier l'exactitude du code...

    Code XAML de ta fenêtre(tu affiches au départ ton userControl 1) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Windows >
    <UserControl1 />
    </Windows>

    Code XAML de ton userCOntrol1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <UserControl>
    <Button Content="Load usercontrol 2" Click="ClickUC1"/>
    </UserControl>

    Code behind de ton userCOntrol1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private void ClickUC1(object sender, RoutedEventArgs e){
    App.Current.MainWindow.Content = new UserControl2();
    }

    Code XAML de ton userCOntrol2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <UserControl>
    <Button Content="Load usercontrol 1" Click="ClickUC2"/>
    </UserControl>

    Code behind de ton userCOntrol2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private void ClickUC2(object sender, RoutedEventArgs e){
    App.Current.MainWindow.Content = new UserControl1();
    }
    Voila je te donne cela assez rapidement pour que tu puisses investiger tout cela en ayant un point de départ. La méthode pour récupérer la fenêtre principale n'est pas forcément la meilleure, ni l'architecture de changement de vue mais cela te donne un point de départ pour comprendre le fonctionnement.

    Bon courage.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 30
    Points
    30
    Par défaut
    Bonjour jimix
    Pour mon premier user controle cad affichage c'est bon mais pour le deuxième user controle ca n'a pas marché.
    Pour rappeler de la situation j'ai un bouton dans l'user controle affichage et quand on clique sur on doit aller vers l'user controle identification.
    Voilà mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     private void accésAIdentification_Click(object sender, RoutedEventArgs e)
            {
                App.Current.MainWindow.Content = new Identification();}
    Comment faire

  10. #10
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Bonjour Lorie,

    Je pense que l'erreur doit venir d'un petit bout de code mal placé et c'est dur à dépister comme erreur ...

    Ton projet est confidentiel ou je peux jeter un œil dessus ?

  11. #11
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 30
    Points
    30
    Par défaut
    le problème que je pratique ce projet dans le cadre du stage et c'est confidontiel.Mais une question qu'elle est la signification de
    App.Current.MainWindow.Content
    et qu'est ce qu'elle doit retourner???

  12. #12
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Je ne saurai que trop te conseiller d'aller lire les tutoriels d'initiation à WPF. Même si ça peut paraître plus efficace de se lancer directement dans le bain, tu gagneras quand même à comprendre les principes de bases de WPF

    Citation Envoyé par Lorie
    une question qu'elle est la signification de
    App.Current.MainWindow.Content
    Content signifie "Contenu". Content est donc la propriété qui accueille le contenu de ...
    ce que tu as avant, c'est à dire de la fenêtre principale de ton application (App.Current.MainWindow). C'est un contrôle (bouton, lisBox, usercontrol...)


    [EDIT] Avec un lien sur la page des tutoriels c'est plus sympa
    http://dotnet.developpez.com/cours/?page=csharp#wpfcs

  13. #13
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Citation Envoyé par lorie Voir le message
    Mais une question qu'elle est la signification de
    App.Current.MainWindow.et qu'est ce qu'elle doit retourner???
    correspond à la fenêtre principale de ton application définit dans le fichier App.XAML

    Content c'est le contenu de ta fenêtre, en général un composant grille..


    @edit : lol ,ma réponse était prête depuis un bail et j'avais oublié de cliquer sur le submit

    @edit2: Tu as un post qui regroupe les différentes ressources WPF ici : http://www.developpez.net/forums/d33...s/#post5062977

  14. #14
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 30
    Points
    30
    Par défaut
    Vraiment u grand merci à vous
    j'ai résolu mon problème mais j'ai ai ajouté quelque chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private void 
              ( (ecran) App.Current.MainWindow).Content = new Identification();

  15. #15
    Futur Membre du Club
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Et si je veux les m^me fonctionnalité qu'elle mais en affichant pas dans une fenêtre mais dans un Usercontrol derrière.

    parce que si j essai de faire appel comme tu le propose ca ne va pas trop...

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/03/2009, 12h23
  2. Réponses: 14
    Dernier message: 26/09/2007, 19h20
  3. [VBA EXCEL]comment utiliser les boites a outils control sur une feuille excel
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/02/2007, 19h04
  4. Réponses: 40
    Dernier message: 27/06/2006, 16h50
  5. Comment utiliser les styles XP avec Dev-C++?
    Par abraxas dans le forum Dev-C++
    Réponses: 3
    Dernier message: 05/10/2003, 19h47

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