<TreeView x:Name="TreeView"> <treeview.resources> <HierarchicalDataTemplate DataType="{x:Type local:RunProcesses}" ItemsSource="{Binding ChildNodes}"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Path=Name, StringFormat='{}{0} '}" /> <TextBlock Text="{Binding Path=ID, StringFormat=(ID: {0})}" /> <HierarchicalDataTemplate DataType="{x:Type local:Module}" ItemsSource="{Binding ChildNodes}"> <TextBlock Text="{Binding Path=Name}" /> <HierarchicalDataTemplate DataType="{x:Type local:Thread}" ItemsSource="{Binding ChildNodes}"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Path=Name, StringFormat='{}{0} '}" /> <TextBlock Text="{Binding Path=ID, StringFormat=(ID: {0})}" /> <HierarchicalDataTemplate DataType="{x:Type local:SubThread}" ItemsSource="{Binding ChildNodes}"> <TextBlock Text="{Binding Path=Name}" />