Получение SelectedIndex дочернего элемента node в TreeView
В настоящее время я работаю над проектом wpf на С#.
У меня есть созданное treeview, у которого есть родительские узлы с дочерними узлами внутри него.
Мне было интересно, есть ли способ получить индекс дочернего элемента node, на который пользователь нажал. (Simmilar to ".SelectedIndex" при использовании comboboxes)
Я пробовал различные способы, такие как:
int val =TreeView.SelectedItemProperty.GlobalIndex;
и
fileInput.IndexOf(treeView1.SelectedItem);
Но они, похоже, не работают.
Приветствуются любые предложения или комментарии.
Спасибо
Ответы
Ответ 1
может потребоваться перебрать узлы дерева, чтобы получить индекс SelectedItem
. вы можете сделать это с помощью OnItemSelected
event.for ex.
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++;
}
}
Ответ 2
Этот пост обсуждает именно то, что вам нужно, я думаю. Об обработке события SelectedNodeChanged
, а также отдельного фрагмента кода для события, которое срабатывает при нажатии выбранного node..., потому что тогда SelectedNodeChanged
не срабатывает (выбранный node не изменение фактически). Удачи!