2016-05-10 3 views
0

Есть ли способ получить индекс родителя выбранного элемента в TreeView в WPF? Я могу перебрать элементы, а затем прийти с индексом выбранного элемента, но получить TreeViewItem 's индекс кажется сложным.WPF Получить TreeViewItem Индекс родителя

Любые идеи?

+0

Вы можете поделиться своим кодом. – Amine

+0

@Amine Я действительно нашел решение самостоятельно. Спасибо, что заинтересованы в помощи. Вы можете проверить код в ответах –

ответ

0

Обнаружено отличное решение (для меня). Я поделюсь им на будущие ссылки.

private int? GetTreeViewItemParentIndex(TreeViewItem Item) 
     { 
      Int32 index = 0; 
      foreach (var _item in treeView1.Items) 
      { 
       if (_item == Item.Parent) 
       { 
        return index; 
       } 
       index++; 
      } 
      return null; 
      //throw new Exception("No parent window detected"); 
     } 

private void treeView1_MouseDoubleClick(object sender, MouseButtonEventArgs e) 
     { 
      TreeViewItem SelectedNode = ((TreeViewItem)((TreeView)sender).SelectedItem); 
      int? ParentIndex = GetTreeViewItemParentIndex(SelectedNode); 
      if (ParentIndex != null) 
      { 
       MessageBox.Show(ParentIndex.ToString()); 
      } 
      else 
      { 
       MessageBox.Show("No parent detected"); 
      } 
    }