With regards to a question I posted earlier on (WPF: Correctly storing an object in a TreeViewItem)
Is it possible to have nested Hierarchical
Hierarchical
You dont need a nested template here, since TreeView control will take care of nesting it based on the DataType it requires. So just define Two HierarchicalDataTemplates for Album and Artist Type and one ordinary DataTemplate for your Track class.