TreeView, HierarchicalDataTemplate et de Données récursive

Pour mon treeview j'ai deux classes différentes qui fournissent l'ItemsSource.

public class TreeViewModel : ViewModelBase
{
    public ObservableCollection<NodeViewModel> Items { get; set; }
}

public class NodeViewModel : ViewModelBase
{
    public string Id { get; set; }
    public string Name { get; set; }
    public ObservableCollection<NodeViewModel> Children { get; set; }
}

Maintenant, je veux mon TreeView pour afficher les Éléments dans TreeViewModel et de montrer hiérarchique des données fournies par les NodeViewModel.

Voici mon code XAML

<Window x:Class="TreeViewMasterDetails.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:TreeViewMasterDetails" 
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TreeView Height="Auto" 
                  HorizontalAlignment="Stretch" 
                  Margin="10" 
                  VerticalAlignment="Stretch" 
                  Width="Auto">
            <TreeView.Resources>
                <HierarchicalDataTemplate DataType="x:Type local:TreeViewModel" ItemsSource="{Binding Items}">
                    <TextBlock Text="{Binding Path=Name}"></TextBlock>
                </HierarchicalDataTemplate>
                <HierarchicalDataTemplate DataType="x:Type local:NodeViewModel" ItemsSource="{Binding Children}">
                    <TextBlock Text="{Binding Name}"></TextBlock>
                </HierarchicalDataTemplate>
            </TreeView.Resources>
        </TreeView>
    </Grid>
</Window>

Avons essayé de fournir Items comme le ItemsSource de la TreeView.
Il n'affiche pas les données de façon hiérarchique, si l'affichage n'importe quoi.

Et j'ai essayé d'utiliser le ItemTemplate au lieu de la TreeView.Resources, trop.

Ce qui est mal à cela?

Peut-être un problème est la première TextBlock Text Binding?
Je veux afficher les Name propriété de la NodeViewModel dans Items.

Je pense que c'est un doublon de [WPF TreeView HierarchicalDataTemplate de liaison de l'objet, avec de multiples collections enfant][1]. [1]: stackoverflow.com/questions/1912481/...
Oui, j'ai déjà vu ça. Mais il ne fonctionne pas ici.
Veuillez voir ma mise à jour de question
TreeViewModel n'a pas un Nom de propriété, mais ce n'est probablement pas la question
Aucune chance pour ce faire sur Windows Phone?

OriginalL'auteur Mare Infinitus | 2013-03-06