有没有简单的方法来设置TreeView的SelectedItem为null或等效?另外,我需要在C#中执行此操作,而不是在XAML中执行此操作。如果你想删除的选择从TreeView中删除SelectedItem
treeView1.Items.Remove(treeView1.SelectedItem);
:
最好的问候,
加布里埃尔
有没有简单的方法来设置TreeView的SelectedItem为null或等效?另外,我需要在C#中执行此操作,而不是在XAML中执行此操作。如果你想删除的选择从TreeView中删除SelectedItem
treeView1.Items.Remove(treeView1.SelectedItem);
:
最好的问候,
加布里埃尔
你想取消选择什么选择?
我想你想是这样的:当你建立明确使用树型视图(S)TreeView的
((TreeViewItem)tv.SelectedItem).IsSelected = false;
以前所有的答案将是有益的。如果您在使用ItemsSource时需要解决方案来清除选择,请使用以下代码:
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;
}
}
}
您究竟想要做什么?为什么你需要null SelectedItem? – 2011-12-20 13:44:50
我想他只是想清除选择,也许依赖于另一个字段值,用户必须重新选择一个树视图节点,所以卡尔给出了答案 – 2011-12-20 13:48:54