Remove SelectedItem from TreeView

Is there an easy way to set TreeView SelectedItem to zero or equivalent? Also, I need to do this in C # and not in XAML.

Respectfully,

Gabriel

+6
source share
4 answers

Not sure what you mean

If you want to delete an item, use this:

treeView1.Items.Remove(treeView1.SelectedItem); 

If you want to remove the selection from the tree, use this:

 ((TreeViewItem)treeView1.SelectedItem).IsSelected = false; 
+7
source

All of the previous answers will be helpful when explicitly creating a TreeView using TreeViewItem (s). If you need a solution to clear selection when using ItemsSource, use the following code:

 private static TreeViewItem FindTreeViewSelectedItemContainer(ItemsControl root, object selection) { var item = root.ItemContainerGenerator.ContainerFromItem(selection) as TreeViewItem; if (item == null) { foreach (var subItem in root.Items) { item = FindTreeViewSelectedItemContainer((TreeViewItem)root.ItemContainerGenerator.ContainerFromItem(subItem), selection); if (item != null) { break; } } } return item; } // Example: private void Button_Click(object sender, RoutedEventArgs e) { if (TV.SelectedItem != null) { var container = FindTreeViewSelectedItemContainer(TV, TV.SelectedItem); if (container != null) { container.IsSelected = false; } } } 
+8
source

Do you want to deselect what is selected?

I think you need something like this:

 ((TreeViewItem)tv.SelectedItem).IsSelected = false; 
+3
source

Want to quickly remove all items? If so, you can use

 treeView1.Items.Clear(); 
0
source

Source: https://habr.com/ru/post/904155/


All Articles