我正在基于树形视图的文件浏览器上创建一个default
文件夹功能,这使系统根据默认路径on load
打开文件夹。
如您所知,您需要使用IsExpanded
函数来打开treeviewitem
。
我的问题是我不知道如何使其自动通过每个文件夹并展开,直到到达默认路径(可以设置为任何路径)。
运行上述代码即可实现(在运行时):
要澄清这个问题:该代码闻起来不是动态的,是否有更简单的方法,然后循环遍历每个文件夹以找到一个文件夹,展开该文件夹,然后进入该文件夹并进行相同的操作东西吗?
我很乐意在此问题中添加任何可以帮助您的问题,并回答愿意帮助的人。
谢谢大家!
答案 0 :(得分:3)
您可以使用递归方法:
private void Expand(DirectoryItemViewModel dvm)
{
dvm.IsExpanded = true;
foreach(DirectoryItemViewModel item in dvm.Children)
Expand(item);
}
使用方式:
foreach(DirectoryItemViewModel item in Items)
Expand(Item);