Je travaille actuellement sur un projet wpf en C #.
J’ai un arbre créé qui a des noeuds parents avec des noeuds enfants à l’intérieur.
Je me demandais s’il y avait un moyen d’obtenir l’index du nœud enfant sur lequel l’utilisateur a cliqué. (Simmilar à “.SelectedIndex” lors de l’utilisation de comboboxes)
J’ai essayé divers moyens tels que:
int val =TreeView.SelectedItemProperty.GlobalIndex;
et
fileInput.IndexOf(treeView1.SelectedItem);
Mais ils ne semblent pas fonctionner.
Toutes les suggestions ou commentaires sont grandement appréciés.
Merci
vous devrez peut-être boucler sur des nœuds d’arborescence pour obtenir l’index de SelectedItem
. vous pouvez le faire en utilisant OnItemSelected
OnItemSelected.for.
Int32 selectedNodeIndex=-1; private void TreeView1_OnItemSelected(Object sender,RoutedEventArgs e) { Int32 index=0; foreach(var _item in TreeView1.Items) { if(_item==TreeView1.SelectedItem) { selectedNodeIndex = index; break; } index++; } }
Cet article explique exactement ce dont vous avez besoin, je pense. À propos de la gestion de l’événement SelectedNodeChanged
et d’un élément de code personnalisé pour un événement qui se déclenche lorsque l’utilisateur clique sur le nœud actuellement sélectionné … car le SelectedNodeChanged
ne se déclenchera pas (le nœud sélectionné ne change pas réellement). Bonne chance!