[C#/SilverLight] Treeview event click

therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010 - 23 sept. 2009 à 23:08
cs_MasterSleepy Messages postés 6 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 6 octobre 2009 - 5 oct. 2009 à 17:07
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

cs_JacB Messages postés 1 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 28 septembre 2009
28 sept. 2009 à 18:35
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'
0
cs_MasterSleepy Messages postés 6 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 6 octobre 2009
5 oct. 2009 à 17:07
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
0
Rejoignez-nous