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 :

[WPF Visual Studio 2013] CheckBox dans un contrôle TreeView


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 23
    Par défaut [WPF Visual Studio 2013] CheckBox dans un contrôle TreeView
    Bonjour à tous,
    je suis en train de développer une application C# avec WPF, dont une partie contient une arborescence
    (ou le contrôle TreeView de Visual Studio). Elle ressemble à ça :
    Nom : Capture.JPG
Affichages : 463
Taille : 20,9 Ko

    Eh oui, mon arborescence ne contient pas seulement du texte, mais aussi des CheckBoxes.

    Voic d'ailleurs la méthode qui permet d'implémenter une checkbox sur plusieurs lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
            private DataTemplate GetHeaderTemplate()
            {
                //create the data template
                DataTemplate dataTemplate = new DataTemplate();
    
                FrameworkElementFactory stackPanel = new FrameworkElementFactory(typeof(StackPanel));
                stackPanel.SetValue(StackPanel.OrientationProperty, Orientation.Horizontal);
    
                // Create check box
                FrameworkElementFactory checkBox = new FrameworkElementFactory(typeof(CheckBox));
                checkBox.Name = "chk";
                checkBox.SetValue(CheckBox.NameProperty, "chk");
                checkBox.SetValue(CheckBox.TagProperty, new Binding());
                stackPanel.AppendChild(checkBox);
                dataTemplate.VisualTree = stackPanel;
    
                FrameworkElementFactory label = new FrameworkElementFactory(typeof(TextBlock));
                label.SetBinding(TextBlock.TextProperty, new Binding());
                label.SetValue(TextBlock.ToolTipProperty, new Binding());
                stackPanel.AppendChild(label);
    
                return dataTemplate;
            }
    La ligne en gras indique que j'ai donné un nom à ma checkbox, ce que je souhaite récupérer.
    Mais je n'arrive pas à pointer dessus pour ensuite accéder à la méthode IsChecked.

    J'ai d'ailleurs vérifié si elle apparaissait dans la "liste déroulante des suggestions",
    comme indiquée en exemple ci-dessous :
    Nom : Sans titre 2.jpg
Affichages : 439
Taille : 22,8 Ko
    Mais ce n'est pas le cas.

    Ensuite, j'ai essayé autrement en utilisant des TreeViewItems pour parcourir mon arborescence.
    Voici un extrait de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach (TreeViewItem item3 in item2.Items)
    {
        // suite du programme           
    }
     
    // item2 => les services (admin, social...) ;
    // item3 => les salariés regroupés par service
    C'est là que j'ai eu l'idée d'utiliser l'objet Template,
    en écrivant item3.Template, mais je me trompe peut-être.
    Je pense toutefois qu'il faut récupérer ce template (car il définit la présence de texte avec les cases à cocher)
    Mais bon, je suis un peu coincé avec mon problème de code.


    Si quelqu'un est déjà passé par là, votre aide est la bienvenue.

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonkour

    Pas très clair cette phrase :

    Eh oui, mon arborescence ne contient pas seulement du texte, mais aussi des CheckBoxes.
    Quelle est la disposition exacte des CheckBoxes dans le TreeViewItem que tu souhaites ?
    Un dessin ou ine capture d’écran serait la bienvenue !!!


    bon code......

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 23
    Par défaut
    Voir première capture d'écran.

    Et la phrase que vous avez mise en citation, c'était juste une remarque que j'ai faite sur le ton de l'humour.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 23
    Par défaut
    En fait, c'est bon. J'ai réussi à trouver un début de solution à mon problème, en me référent à cette page :
    https://social.msdn.microsoft.com/Fo...lick?forum=wpf
    J'ai récupérer une partie du code d'après ce tuto, et j'arrive à obtenir la liste des salariés choisis.
    Vous remarquerez que de passer par une collection (qui se remplit quand on coche un salarié, ou se vide quand on le décoche), est une bonne idée.

    Je suis donc parvenu à faire le lien entre les cases cochées et les salariés.

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

Discussions similaires

  1. [WPF Visual Studio 2017] Lecture d'une liste déroulante dans un DataGrid
    Par mister-gaets dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 25/01/2019, 15h13
  2. Réponses: 0
    Dernier message: 22/03/2012, 02h31
  3. Réponses: 0
    Dernier message: 24/01/2012, 19h06
  4. Gestion des CheckBox dans Visual Studio
    Par Taiby dans le forum Général VBA
    Réponses: 7
    Dernier message: 06/01/2011, 14h04
  5. Directshow & Visual Studio 8 : erreur dans la compilation
    Par L'elfe d'Azur dans le forum Windows
    Réponses: 5
    Dernier message: 03/10/2007, 13h21

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