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 :

c# combobox et usercontrol [Débutant]


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    C#/C++/C
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : C#/C++/C

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Par défaut c# combobox et usercontrol
    Bonjour, je developpe actuellement une application wpf seulement je ne me sert pratiquement pas du xaml (c'est certes très pratique mais venant du C et du C++ ca ne m'attire pas trop). Je m'explique je ne me sert du xaml que pour poser des "objets" via la toolbox et ensuite je les duplique ou les utilises via du code c#.
    Seulement voila apparemment très peu de personne décide de tout faire en c# donc soit je ne comprend pas le concept de wpf soit je m'y prend mal.

    Mon problème est le suivant j'ai un tabcontrol qui au lancement ajoute automatiquement des tabitems, afin de trouver les mêmes objets dans tous mes tabitems j'ai crée un usercontrol contenant entre autre une combobox
    (voici comment je "bind" mon usercontrol a mes tabitems) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            private void add_control(TabItem item, Book book)
            {
                UserControl1 nw = new UserControl1();
                for (int index = 0; index < book.theme.Count; index++)
                    nw.comboBox1.Items.Add(book.get_theme(index));
                item.Content = nw;
                item.UpdateLayout();
            }
    Cependant comment savoir quand on sélectionne un élément de ma combobox?
    J'ai essayé de créer la méthode correspondant a cet event directement dans ma class usercontrol mais a l’exécution ça plante.
    Comment récupérer les events ou variable généré depuis mon usercontrol dans mon tabitem?
    j’espère avoir été clair et surtout ne pas avoir dit d’absurdité
    Merci a toute personne prenant la peine d’essayer de me comprendre et surtout de répondre a mon problème.

  2. #2
    Membre averti
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut
    Salut, j'essayerais de binder l'objet theme apparemment, en code c# ça ressemble à ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nw.combo1.SetBinding(ComboBox.SelectedItem, new Binding("theme"));
    PS: Je ne peux que d'inciter à te mettre au XAML, parce que c'est plus simple de l'écrire en XAML.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Tu peux tout à fait te passer du xaml s'il s'agit d'une interface très dynamique.
    Puisque ta combobox est public tu peux tout à fait t'abonner à nw.comboBox1.selectedItemChange += .......
    Sinon pour la combobox, si book.themes est une collection, il te suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nw.comboBox1.ItemSource=book.themes (ou datasource je sais plus)
    ( utilise une majuscule pour les propriétés public ==> book.Themes,nw.ComboBox1 )

  4. #4
    Membre du Club
    Homme Profil pro
    C#/C++/C
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : C#/C++/C

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Par défaut
    Je vous remerci tous les deux pour votre temps et vos réponses.

    Pour ma combobox c'est ok je la remplis sans utiliser mon for.

    Si je comprend bien je peux assigner une méthode a nw.comboBox1.selectedItemChange c'est bien ça?

    Et en fait le xaml ne me sert que de squelette je crée toute mon interface a partir de ce squelette car mon application est liée a un fichier excel.
    Le problème de tout faire en c# c'est que pour un objet il y a tellement de méthode, d'attribut ou d'event que je passe plus de temps a chercher leurs fonctions qu'a coder et surtout que la documentation microsoft me fait un peu mal aux yeux

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Ah ben ca c'est normal quand on connait pas l'environnement/framework on passe plus de temps à chercher qu'a coder .
    Apres si ta d'autre connaissance dans d'autre langage tu peux chercher sur google "equivalent NomDeLaFonctionEnAutreLangue with .Net "
    Sinon pour msdn perso je la trouve super bien faite! (pas comme la java doc...) Bon apres c'est surement une question d'habitude!

    En effet le selectedItemChange est un évenement, chaque fois qu'il se produit il va appeler toute les méthodes enregistrés (grace au +=) ( pour te désabonner c'est -=). D'une manière général il serait bon de comprendre un peu plus c# avant de voir les subtilités liés au xaml

  6. #6
    Membre du Club
    Homme Profil pro
    C#/C++/C
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : C#/C++/C

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Par défaut
    En fait comme je l'ai dit (certes très mal) plus haut j'avais fait un player multimedia pour mes études en wpf et j'avais trouvé la gestion de l'interface fort intéressante et facile grâce au designer.

    Du coup étant en stage et devant faire un logiciel de gestion de stock (en deux mois) je me suis dis pour la partie code pas de soucis je peux gérer ma feuille excel comme je le souhaite sauf que une fois cette tache accompli il faut coupler le code a l'interface et c'est la le problème car le xaml ne me permet pas de faire des interface dynamique (a ce que j'ai vu et avec mes connaissances actuelles). Et pour moi c# n'est pas si compliquée en soit c'est juste que je me complique la vie et que je veux a tout prix coder de l'existant (du a mon manque de connaissance sans aucun doute) du coup je perds du temps.


    EDIT : Pour l'attribution de l'event c'est bon j'ai compris le concept cependant (j'ai du oublier de le mentionner) je ne vois pas comment récupérer cette info dans mon tabitem car la fonction handler correspond a ma class usercontrol1 qui est le content de mon tabitem.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/05/2013, 13h33
  2. Réponses: 13
    Dernier message: 03/09/2010, 14h24
  3. [UserControl] modification simultané des combobox
    Par TaymouWan dans le forum Windows Forms
    Réponses: 8
    Dernier message: 24/04/2009, 16h54
  4. Variable dynamique et ComboBox-userControl
    Par Jaktens dans le forum C#
    Réponses: 7
    Dernier message: 04/07/2008, 23h24
  5. propriété dans usercontrol à partir d'une liste(combobox)
    Par salihovic dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/11/2007, 16h02

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