private void Button_Click(object sender, RoutedEventArgs e) { string root = textBox1.Text; ModuleUKS parent = (ModuleUKS)base.ParentModule; expandedItems.Clear(); FindExpandedItems(theTreeView.Items, root); theTreeView.Items.Clear(); List <Thing> KB = parent.GetTheKB(); Thing t = parent.Labeled(root); if (t != null) { TreeViewItem tvi = new TreeViewItem { Header = t.Label }; tvi.IsExpanded = true; //always expand the top-level item theTreeView.Items.Add(tvi); tvi.MouseRightButtonDown += Tvi_MouseRightButtonDown; AddChildren(t, tvi, 0); } }