Получение 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 не изменение фактически). Удачи!