我有一个列表,我想用作动态扩展的树视图,但如果我要在列表中有多个列表,我需要在初始列表的定义中声明它。我缺少什么来实现这一目标,还有什么更好的方法可以用来实现我的目标吗?
为了上下文:我试图像树视图一样填充它,以便我可以在我的应用程序中复制注册表。
我有一个列表,我想用作动态扩展的树视图,但如果我要在列表中有多个列表,我需要在初始列表的定义中声明它。我缺少什么来实现这一目标,还有什么更好的方法可以用来实现我的目标吗?
为了上下文:我试图像树视图一样填充它,以便我可以在我的应用程序中复制注册表。
为您的方案使用正确的类型。
在你的情况下,这是一个TreeNode
像这样的类:
public class TreeNode
{
private readonly List<TreeNode> _children = new List<TreeNode>();
public TreeNode(string name, params TreeNode[] children)
{
Name = name;
_children.AddRange(children);
}
public List<TreeNode> Children { get { return _children; } }
public string Name { get; set; }
}
假设以下树:
Root
+ Child1
+ Child1a
+ Child1b
+ Child2
+ Child2a
+ Child2aA
+ Child2aB
+ Child2b
你会像这样创建它:
var root = new TreeNode("Root",
new TreeNode("Child1",
new TreeNode("Child1a"),
new TreeNode("Child1b")),
new TreeNode("Child2",
new TreeNode("Child2a",
new TreeNode("Child2aA"),
new TreeNode("Child2aB")),
new TreeNode("Child2b")));