在TreeView中使用HierarchicalDataTemplates

关于我之前发布的问题( WPF:正确地将对象存储在TreeViewItem中 )

是否可以在TreeView中嵌套HierarchicalDataTemplate


采用以下示例:

码:

 public class Artist { private readonly ICollection _children = new ObservableCollection(); public string Name { get; set; } public ICollection Albums { get { return _children;} } } public class Album { private readonly ICollection _children = new ObservableCollection(); public string Name { get; set; } public ICollection Tracks { get { return _children;} } } 

XAML:

        

如上所述,TreeView仅绑定艺术家及其专辑。 如何修改它以包括专辑的曲目(作为专辑的子列表,即)?

你不需要这里的嵌套模板,因为TreeView控件将根据它需要的DataType来处理它。 因此,只需为专辑和艺术家类型定义两个HierarchicalDataTemplates,为Track类定义一个普通的DataTemplate。