c# – 在Wpf应用程序中折叠树视图的所有项目

我有一个 WPF应用程序,其中我有一个treeview控件.

我想通过点击按钮来折叠所有项目.我试过这个:

private void buttonParam_Click(object sender,RoutedEventArgs e)
        {
//handling
    this.arborescence.IsExpanded = false;
        }

但它没有奏效.这个错误的原因是什么?如何更改我的代码段以完成此任务?

解决方法

我认为最好的方法是循环遍历所有节点并逐个折叠它们.

private void cmdCollapse_Click(object sender,RoutedEventArgs e)
{
    foreach (TreeViewItem item in treeview.Items)
        CollpaseTreeviewItems(item);
}

void CollapseTreeviewItems(TreeViewItem Item)
{
    Item.IsExpanded = false;

    foreach (TreeViewItem item in Item.Items)
    {
        item.IsExpanded = false;

        if (item.HasItems)
            CollapseTreeviewItems(item);
    }
}

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...