C# HierarchycalDataTemplate它应该做什么?
基本上我有一个eeview,其中有一堆对象,treeview需要绑定相同的属性 这是我使用的代码,它似乎不起作用C# HierarchycalDataTemplate它应该做什么?,c#,wpf,treeview,hierarchicaldatatemplate,C#,Wpf,Treeview,Hierarchicaldatatemplate,基本上我有一个eeview,其中有一堆对象,treeview需要绑定相同的属性 这是我使用的代码,它似乎不起作用 <TreeView ItemsSource="{Binding Drives}"> <TreeView.ItemTemplate> <HierarchicalDataTemplate> <TreeViewItem Header="{Binding Name}" I
<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,因为我可以获得所有级别。你想让我把整个回购代码寄给你吗?