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

Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008 - 4 juin 2008 à 10:44
ofonadroite Messages postés 130 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 13 août 2008 - 9 juil. 2008 à 11:57
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!
A voir également:

2 réponses

ofonadroite Messages postés 130 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 13 août 2008 2
1 juil. 2008 à 12:29
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.
0
ofonadroite Messages postés 130 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 13 août 2008 2
9 juil. 2008 à 11:57
non ?
0
Rejoignez-nous