删除或隐藏分层TreeView中的根节点

时间:2014-10-03 12:39:15

标签: wpf treeview hide root hierarchy

我有一个像这样的TreeView:

<TreeView Name="tvObjects" Padding="0,5,0,0" Grid.Row="2">
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding Nodes}">
            <StackPanel Orientation="Horizontal" Margin="4,3" ContextMenu="{Binding Converter={StaticResource NodeTypeToContextMenuConverter}}">
                <Image Source="{Binding Converter={StaticResource StringToImageConverter}}" />
                <TextBlock Text="{Binding Title}" Padding="4,0,0,0" />
            </StackPanel>
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

它的约束如下:

tvObjects.Items.Clear();
var root = new Node("SQLite", NodeType.SQLite);
// add db nodes, with sub nodes
tvObjects.Items.Add(root);

我想不显示根节点,而只显示其子节点。目前它看起来像:

enter image description here

我希望它看起来像:

enter image description here

请注意,它必须是分层的。

1 个答案:

答案 0 :(得分:1)

如果您不想要根节点,只需 不要将其添加到Items集合 。 将db节点直接添加到Items集合:

var node = new Node("main", NodeType.Whatever);
// add sub nodes.
tvObjects.Items.Add(node);

var anotherNode = new Node("chin ook", NodeType.Whatever);
// add sub nodes.
tvObjects.Items.Add(anotherNode);