[C#] WPF. Dodawanie węzła do drzewa, pobieranie indeksu

Witam,

W programie który wczytuje plik .xml i wyświetla go w kontrolce treeview chciałbym dodać przyciski, które dodają węzły (parent, child) dla wskazanego węzła w drzewie. Niestety nie do końca wiem jak to jest z tymi indeksami węzłów i mój przycisk jest tylko w stanie dodać węzeł na końcu drzewa.

private void Button_Click(object sender, RoutedEventArgs e)
        {
            int selectedNodeIndex = -1;
            var selected =tv.SelectedItem as TreeViewItem;
            int index = 0;
            foreach (var _item in tv.Items)
            {
                if (_item == tv.SelectedItem)
                {
                    selectedNodeIndex = index;
                    break;
                }
                else
                {
                    
                }
                index++;
            }                
                TreeViewItem newChild = new TreeViewItem();
                newChild.Header = textBox1.Text;
                foreach (var item in tv.Items)
                {
                    _items.Add(item);
                }
                _items.Add(newChild);
                tv.ItemsSource = _items;

Może ktoś podać jakieś wskazówki jak “ugryźć” ten temat? Generalnie chodzi o to żebym po wybraniu węzła w treeview mógł dodać do niego węzeł o poziom niżej lub na tym samym poziomie.