以编程方式添加TreeViewItem

时间:2019-08-06 07:22:11

标签: xaml uwp treeview

我正在尝试以编程方式在UWP中填充树形视图。但是,我对TreeViewItemTreeViewNode之间感到困惑。

我可以像这样将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的目的。请有人能指出正确的方向吗?

2 个答案:

答案 0 :(得分:0)

是的,就像... here TreeViewItem TreeView项目模板 TreeViewNode < / strong>是“实际”项目。

过于简化

  • 如果要向TreeView中添加项目,则必须使用 TreeViewNode

  • 如果您要“重新设计” TreeViewNodes,则可以使用六边形列表(而不是普通的层次列表),然后必须在Style /中实现 TreeViewItem 模板

答案 1 :(得分:0)

就像Zer0所说的那样,您不必使用TreeViewItem。实际上,组成TreeView的基本组件是TreeViewNodeTreeViewItem可以被视为具有相同级别和样式的TreeViewNode容器。它具有ItemsSourceItemTemplate属性,可以根据数据收集批量创建相同的“ TreeViewNode”

TreeView / TreeViewItem / TreeViewNode之间的关系类似于建筑物 / / 砖的关系。墙是由许多相同的砖块组成的,本身可以看作是一块大砖块。

最诚挚的问候。