我正在尝试向我的 TreeView 添加功能,其中用户可以通过单击按钮让所有节点展开和折叠。Expand 使用 ExpandSubTree 可以很好地工作。无论出于何种原因,都没有 CollapseSubTree 函数。我怎样才能成功完成这项任务?
这是我当前的功能:
private void expand_collapse_children(TreeViewItem tvi, bool expand)
{
if (tvi.Items.Count > 0)
{
foreach (TreeViewItem item in tvi.Items)
{
if (expand)
{
item.ExpandSubtree();
}
else
{
expand_collapse_children(item, expand);
item.IsExpanded = false;
}
}
}
}
注意: isExpanded 比无用的高出半步。当它为真时,我可以将其设置为假,并且它不会折叠超过所选最高级别的任何内容。
谢谢!