我正在尝试以编程方式在UWP中填充树形视图。但是,我对TreeViewItem
和TreeViewNode
之间感到困惑。
我可以像这样将TreeViewNode
添加到另一个TreeViewNode
:
Windows.UI.Xaml.Controls.TreeViewNode node = new Windows.UI.Xaml.Controls.TreeViewNode();
node.Content = myInfo.Name;
parentNode.Children.Add(node);
但是,我的理解是,当我降至最低水平时,我需要一个TreeViewItem;例如:
root
- Level 1 - Node
- Level 2 - Node
- Level 2 - Node
- TreeViewItem?
- Level 1
- TreeViewItem?
但是,我不能这样做:
Windows.UI.Xaml.Controls.TreeViewItem node = new Windows.UI.Xaml.Controls.TreeViewItem();
node.Content = data;
node.Tag = tagInfo;
parentNode.Children.Add(node);
我认为我误解了TreeViewItem的目的。请有人能指出正确的方向吗?
答案 0 :(得分:0)
是的,就像... here, TreeViewItem 是 TreeView项目模板和 TreeViewNode < / strong>是“实际”项目。
过于简化
如果要向TreeView中添加项目,则必须使用 TreeViewNode 类
如果您要“重新设计” TreeViewNodes,则可以使用六边形列表(而不是普通的层次列表),然后必须在Style /中实现 TreeViewItem 模板
答案 1 :(得分:0)
就像Zer0所说的那样,您不必使用TreeViewItem
。实际上,组成TreeView的基本组件是TreeViewNode
。 TreeViewItem
可以被视为具有相同级别和样式的TreeViewNode
容器。它具有ItemsSource
和ItemTemplate
属性,可以根据数据收集批量创建相同的“ TreeViewNode” 。
TreeView
/ TreeViewItem
/ TreeViewNode
之间的关系类似于建筑物 / 墙 / 砖的关系。墙是由许多相同的砖块组成的,本身可以看作是一块大砖块。
最诚挚的问候。