[WPF] Récupérer le Parent d'un SelectedItem d'un Treeview bindé?

Signaler
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008
-
Messages postés
130
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
13 août 2008
-
Bonjour,

Je suis en train de migrer une de mes applis perso en .NET 3.5 avec interface en XAML et je suis bloqué!

Ce que je cherche à faire :
Récupérer l'objet Parent du noeud sélectionné et ce dans un Treeview ayant comme source un Binding!

Le contexte :
Dans mon Treeview (nommé tvFavoris), j'ai une arborescence d'artistes avec pour chacun, les titres favoris. Ex:
      Dream Theater
        - Home
      Metallica
        - Blackened
        - Enter Sandman
        - One
      Pain of Salvation
        - Home
        - Imago

Mon Binding fonctionne à merveille et l'idée, c'est de pouvoir supprimer un titre quand on presse la touche suppr. J'arrive à récupérer l'objet sélectionné via le code suivant :

private

void tvFavoris_KeyDown(
object sender,
KeyEventArgs e) {

   if (e.Key ==
Key.Delete) {

      if(tvFavoris.SelectedItem is Titre
) {
         Titre t = (
Titre)tvFavoris.SelectedItem;
      }
   }
}

L'objet bindé est un "ObservableCollection" du nom de "obsArtiste" et la classe "Artiste" a une propriété "Titres" de type "ObservableCollection<Titre>".

Voilà, vous savez à peu près tout!

Je pense que le plus simple est de trouver le Parent de type "Artiste" et d'agir directement sur l'objet, c'est ce qu'il y a de plus propre à faire. Sinon, je peux ajouter une propriété de type Artiste dans la classe Titre, mais c'est relativement moyen niveau conception!

Merci d'avance pour vos réponses!

2 réponses

Messages postés
130
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
13 août 2008
2
Je suppose qu'avant d'appuyer sur "suppr" l'utilisateur sélectionne le nœud ?
Dans ce cas garder en mémoire le : tvFavoris.SelectedNode.Parent à chaque fois que quelqu'un clique sur un nœud (OnSelectedNodeChanged) pourrai peut être devenir utile, après tu le récupère au moment où l'utilisateur appuie sur "suppr" et l'affaire est dans le sac.

Enfin après je débute moi, donc dit moi au moins ce que tu en pense.
Messages postés
130
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
13 août 2008
2
non ?