wpf 怎样用数据库中的数据直接生成treeview?

数据库表:
表: id name parentId
1 A -1
2 B 1
3 C 1
4 D 2 parentId=-1表示根节点
在treeview中A是根节点,B、D是A的节点,C是B的节点
希望可以直接将数据库中的二维结构表生成treeview,并添加删除节点,在wpf中应该怎样实现呢?试了很久一直没成功,希望各位前辈老师能帮忙解答,谢谢!

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你看下这篇博客吧, 应该有用👉 :WPF在TreeView中实现右键菜单及删除节点
  • 除此之外, 这篇博客: WPF从零到1教程详解,适合新手上路中的 TreeView演示代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        //设置treeView1的数据上下文
        this.treeView1.DataContext = MenuHelper.CreateMenus();
        
            }
    
    
            <!--硬代码 写死 树-->
            <!--<TreeView FontSize="30" >
    
                <TreeViewItem Header="部门" IsExpanded="True">
                   
                    <TreeViewItem Header="销售部" >
                        <TreeViewItem Header="销售1部">
                        </TreeViewItem>
                        <TreeViewItem Header="销售2部">
    
                        </TreeViewItem>
                    </TreeViewItem>
                    <TreeViewItem Header="财务部">
    
                    </TreeViewItem>
                    <TreeViewItem Header="技术部">
    
                    </TreeViewItem>
                    <TreeViewItem Header="人事部">
    
                    </TreeViewItem>
    
                </TreeViewItem>
            </TreeView>-->
    
    
            <TreeView FontSize="30" Name="treeView1" ItemsSource="{Binding}" 
                      >
                <!--<TreeView.ItemContainerStyle>
                    <Style TargetType="{x:Type MenuItem}">
                        <Setter Property="Command" Value="{Binding ICommand}"></Setter>
                    </Style>
                </TreeView.ItemContainerStyle>-->
                <TreeView.ItemTemplate>
                    <HierarchicalDataTemplate  DataType="{x:Type et:MenuInfo}" ItemsSource="{Binding SubMenus}">
                        <StackPanel Orientation="Horizontal">
                            <Image Source="../Images/touxiang.jpg" Width="50" Height="50"></Image>
                            <TextBlock   Text="{Binding MenuName}"></TextBlock>
                        </StackPanel>
                    </HierarchicalDataTemplate>
                </TreeView.ItemTemplate>
    
            </TreeView>
    


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^