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

问题描述 投票:0回答:2

我有一个像这样的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

注意它必须是分层的。

wpf treeview hide root hierarchy
2个回答
1
投票

如果您不想要根节点,只需不要将其添加到 Items 集合中。 将数据库节点直接添加到 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);

0
投票

如果您能展示如何删除节点,我们将不胜感激。看来不是那么直接,不会被删除。

© www.soinside.com 2019 - 2024. All rights reserved.