C# HierarchycalDataTemplate它应该做什么?

C# HierarchycalDataTemplate它应该做什么?,c#,wpf,treeview,hierarchicaldatatemplate,C#,Wpf,Treeview,Hierarchicaldatatemplate,基本上我有一个eeview,其中有一堆对象,treeview需要绑定相同的属性 这是我使用的代码,它似乎不起作用 <TreeView ItemsSource="{Binding Drives}"> <TreeView.ItemTemplate> <HierarchicalDataTemplate> <TreeViewItem Header="{Binding Name}" I

基本上我有一个eeview,其中有一堆对象,treeview需要绑定相同的属性

这是我使用的代码,它似乎不起作用

    <TreeView ItemsSource="{Binding Drives}">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate>
                <TreeViewItem Header="{Binding Name}" ItemsSource="{Binding Folders}" IsExpanded="{Binding IsExpanded, Mode=TwoWay}">
                    <TreeViewItem.ItemTemplate>
                        <HierarchicalDataTemplate>
                            <StackPanel>
                                <TreeViewItem Header="{Binding Name}" ItemsSource="{Binding Folders}" IsExpanded="{Binding IsExpanded,Mode=TwoWay}">
                                    <TreeViewItem.ItemTemplate>
                                        <HierarchicalDataTemplate>
                                            <TreeViewItem Header="{Binding Name}" ItemsSource="{Binding Folders}" IsExpanded="{Binding IsExpanded,Mode=TwoWay}"/>
                                        </HierarchicalDataTemplate>
                                    </TreeViewItem.ItemTemplate>
                                </TreeViewItem>
                            </StackPanel>
                        </HierarchicalDataTemplate>
                    </TreeViewItem.ItemTemplate>
                </TreeViewItem>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
    </TreeView>

基本上,当我进入第三级treeview项时,我只得到名称空间+对象名。 数据模板不是应该不断地流动吗?

更像这样

    <TreeView ItemsSource="{Binding Drives}">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Folders}">
                <TextBlock Text="{Binding Name}"></TextBlock>
                <HierarchicalDataTemplate.ItemContainerStyle>
                    <Style TargetType="TreeViewItem">
                        <Setter Property="IsExpanded" Value="{Binding IsExpanded,Mode=TwoWay}" />
                    </Style>
                </HierarchicalDataTemplate.ItemContainerStyle>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
    </TreeView>


您是否尝试移除stackpanel?您不需要像这样嵌套
Hierarchy-CalDataTemplate
s。假设
ItemsSource
TreeView
中每个项目中的
Folders
。此外,检查输出窗口是否有任何绑定错误。我没有收到任何绑定错误。所有绑定都正常工作,但模板不正常。请发布视图模型代码。使用此代码,我可以获得一个级别的treeview模板(基本级别),没有其他级别,树中的每个treeview项都需要绑定到属性FoldersInTesting,因为我可以获得所有级别。你想让我把整个回购代码寄给你吗?