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 :

Récupérer le TreeViewItem parent


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut Récupérer le TreeViewItem parent
    Salut,

    J'ai un TreeView dont les éléments ont été définis via une CollectionViewSource contenant des objets persos.
    J'aimerai accéder au TreeViewItem parent de l'objet sélectionné.

    Comment puis-je faire ?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Sur ton treeview, accède à l'ItemContainerGenerator et utilise la méthode ContainerFromInder: http://msdn.microsoft.com/en-us/libr...rfromitem.aspx

  3. #3
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Si je ne dis pas de bêtise, cette méthode permet de récupérer le TreeViewItem correspondant à un objet.
    Moi j'aimerai pouvoir récupérer le TreeViewItem parent, autrement dit celui de niveau N-1 dans l'arborescence...

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    +Noeud1
       Noeud1-1
       Noeud1-2
    +Noeud2
    Quand je sélectionne le noeud Noeud1-1, j'aimerai pouvoir récupérer le noeud Noeud1.

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Ben, tu utilises ma technique + sur le TreeviewItem récupéré, tu utilises la propriété Parent.

  5. #5
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Je me permets de revenir sur ce sujet que j'avais totalement zappé... :S

    Alors, tout d'abord, je me suis rendu compte que la méthode ContainerFromItem d'un TreeView ne fonctionne QUE pour les noeuds de niveau 1.
    Si on appelle cette méthode avec en paramètre un objet représenté par un noeud de niveau 2 (comme "Noeud1-1" dans mon exemple), cela renvoie null.
    Pour pallier cela, j'ai récupérer les méthodes d'extension décrites ici.
    Du coup, si j'appelle ceci :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    TreeViewItem myTvi = myTreeView.ContainerFromItem(myNode11Object) as TreeViewItem;
    où myNode11Object est l'objet représenté par le noeud "Noeud1-1", j'obtiens bien le TreeViewItem correspondant.

    Par contre, si la propriété Parent de ce TreeViewItem me renvoie toujours null.
    Es-tu sûr que la propriété Parent renvoie le TreeViewItem parent ?

    PS : J'ai remarqué que la propriété ParentTreeViewItem (qui n'est malheureusement pas publique) me renvoie bien le TreeViewItem parent que j'attend...

  6. #6
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Ah ben en fait, j'ai trouvé la solution sur ton blog

    Chez moi, ta méthode renvoie bien le TreeViewItem parent, par contre la propriété Parent renvoie null, contrairement à ce que tu dis dans le post.

    A voir donc...

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

Discussions similaires

  1. Récupérer le répertoire parent
    Par freestyler dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/12/2007, 11h50
  2. Récupérer le domaine parent
    Par Pill_S dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2007, 22h17
  3. [DOM] DOM : Récupérer un élément parent
    Par atar64 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/07/2007, 09h34
  4. Récupérer la classe parente
    Par jagboys dans le forum MFC
    Réponses: 3
    Dernier message: 15/07/2006, 00h06
  5. Comment récupérer le répertoire parent d'un répertoire?
    Par Jayceblaster dans le forum Delphi
    Réponses: 14
    Dernier message: 23/05/2006, 18h38

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