Получение SelectedIndex дочернего узла в TreeView - PullRequest
2 голосов
/ 19 июня 2011

В настоящее время я работаю над проектом wpf на C #.

У меня есть созданное древовидное представление, в котором есть родительские узлы с узлами childen.

Мне было интересно, есть ли способчтобы получить индекс дочернего узла, по которому щелкнул пользователь.(Аналогично «.SelectedIndex» при использовании комбинированных списков)

Я пробовал различные способы, такие как:

int val =TreeView.SelectedItemProperty.GlobalIndex;

и

fileInput.IndexOf(treeView1.SelectedItem);

Но, похоже, они не работают.

Любые предложения или комментарии приветствуются.

Спасибо

Ответы [ 2 ]

1 голос
/ 19 июня 2011

возможно, вам придется перебрать узлы дерева, чтобы получить индекс 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++;
      }    
}
0 голосов
/ 19 июня 2011

Этот пост обсуждает именно то, что вам нужно, я думаю.Об обработке события SelectedNodeChanged, а также пользовательского фрагмента кода для события, которое запускается при щелчке по выбранному в данный момент узлу ... потому что тогда SelectedNodeChanged не срабатывает (выбранный узел фактически не изменяется).Удачи!

...