我想动态地用诺德建造一View树,代之以典型的树 no。 诺德人喜欢
class Node
{
public Node(string cont) {
Content = cont;
Children = new List<Node>();
}
public string Content { get; set; }
public List<Node> Children { get; set; }
public bool IsLeaf {
get { return Children.Count == 0; }
}
public bool IsVisible {
get { return true; }
}
}
为了做到这一点,我写了简单的树木渗透器,增加了“树林”号。
void XmlTreeTraversal(DataPoolNode curNode, TreeViewItem curViewNode) {
if (curNode.IsLeaf)
return;
var contentNode = (DataPoolNode)curNode;
foreach (var node in contentNode.Children) {
TreeViewItem childViewNode = AddNewNodeToTreeView(node.Content, curViewNode);
XmlTreeTraversal(node, childViewNode);
}
}
TreeViewItem AddNewNodeToTreeView(string description, TreeViewItem curViewNode) {
TreeViewItem newTVI = new TreeViewItem();
newTVI.Header = description;
curViewNode.Items.Add(newTVI);
return newTVI;
}
这种做法的问题是数据和观点相互交织。 因此,它没有达到MVC。 也许,你们知道这个问题的另一个解决办法?