[C#/SilverLight] Treeview event click

Signaler
Messages postés
50
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
25 mai 2010
-
Messages postés
6
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
6 octobre 2009
-
Bonsoir tout le monde,
Je travaille actuellement sur une application en SilverLight et je suis fasse à un problème. Voilà à l'origine j'utilisais des listbox pour afficher des données que j'allais récupérer au préalable dans une base de données et que je stockais dans 3 listes de string différentes suivant leur catégorie.
POur un meilleur esthétique de l'application on m'a demandé d'utiliser des treeviews.
J'obtiens bien un treeview contenant des premier treeview item correspondant au catégorie qui contiennent les données des lists. Cependant il faudrait que lorsque je clique sur un élément de la liste d'une catégorie cela affiche dans une fenêtre toutes les informations de cet évènement.
Mon problème est le suivant :
- je n'arrive pas à effectuer d'event click sur mon élément
- je n'arrive pas à récupérer l'index de mon élément par rapport à la liste où il est contenu.

Quelqu'un aurait-il une idée?
Merci d'avance.

2 réponses

Messages postés
1
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2009

Bonjour

Si le problème est sur le treeview une solution est d'utiliser l'événement 'MouseLeftButtonUp'
et de récupérer l'item sélectionner 'TreeViewItem newItem = TrSecteurs.SelectedItem as TreeViewItem'
Messages postés
6
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
6 octobre 2009

Salut,

Il faut implémenter l'évènement "SelectedItemChanged"

this.TreeView1.SelectedItemChanged +=new RoutedPropertyChangedEventHandler<object>(TreeView1_SelectedItemChanged);

Avec par example ceci:
private void TreeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
TreeView myTreeV;
myTreeV = (TreeView)sender;
TreeViewItem myTreeItem;
myTreeItem = (TreeViewItem)myTreeV.SelectedItem;

MessageBox.Show("Item Selected : " + myTreeItem .Header.ToString() );
}

Je suis sous Silverlight 3
++
MasterSleepy.

http://www.vanhees.cc