.net - WPF TreeView 清除选择

标签 .net wpf treeview

如何清除 WPF TreeView 中的 TreeView 选择?我试过循环 TreeNodes并清除 IsSelected属性,但是这是 ReadOnly属性(property)。有任何想法吗?
TreeView正在通过 XMLDataProvider 使用 XML 绑定(bind)目的。

最佳答案

我遇到了完全相同的问题,并编写了以下代码,该代码适用于任何 TreeView ,只需一行调用第一个函数。

class TomWrightsUtils
{
    public static void ClearTreeViewSelection(TreeView tv)
    {
        if (tv != null)
            ClearTreeViewItemsControlSelection(tv.Items, tv.ItemContainerGenerator);
    }
    private static void ClearTreeViewItemsControlSelection(ItemCollection ic, ItemContainerGenerator icg)
    {
        if ((ic != null) && (icg != null))
            for (int i = 0; i < ic.Count; i++)
            {
                TreeViewItem tvi = icg.ContainerFromIndex(i) as TreeViewItem;
                if (tvi != null)
                {
                    ClearTreeViewItemsControlSelection(tvi.Items, tvi.ItemContainerGenerator);
                    tvi.IsSelected = false;
                }
            }
    }
}

关于.net - WPF TreeView 清除选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/676819/

相关文章:

c# - 如何从我的 elasticsearch 索引中排除 HTML 内容?

wpf - Visual Studio 2008 : Setting the vertical separation to default in wpf designer

c# - WPF、SQLite 和延迟加载

python - 使用 python 和 gtkTreeView 创建一个简单的文件浏览器

angularjs - 如何使用 angularjs 指令中的单击事件获取 TreeView 的选定节点值

.net - EasyNetQ Subscribe 无法与 TopShelf 一起使用

.net - 在Vista中向GAC注册多个程序集

c# - .NET Framework 中是否有 API 或类可以像 Windows 讲述人那样检测您在桌面上执行的操作?

c# - 如何以编程方式访问 ContentTemplate 中定义的元素?

java - 为什么此 FXML 应用程序中不显示 TreeView 根?