WPF TreeView lié à ObservableCollection pas de mise à jour des nœuds racine

Désolé, ma question est presque identique à cette une mais depuis, il n'a pas reçu une réponse viable, je suis en espérant que quelqu'un d'autre a des idées fraîches.

J'ai un WPF TreeView qui est lié à une hiérarchie d'un seul type:

public class Entity
{
    public string Title { get; set; }
    public ObservableCollection<Entity> Children { get; set; }
}

L'Entité de la classe implémente INotifyPropertyChanged, mais j'ai omis ce code pour plus de clarté.

Le TreeView est lié à une ObservableCollection<Entité>, et chaque instance d'Entité expose un ensemble de contenus instances d'Entité par l'intermédiaire de ses Enfants de la propriété:

<TreeView ItemsSource="{Binding Path=Entities}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type local:Entity}" ItemsSource="{Binding Path=Children}">
           <TextBlock Text="{Binding Path=Title}" />
        </HierarchicalDataTemplate>
   </TreeView.Resources>
</TreeView>

D'abord le TreeView lie comme prévu et d'afficher correctement un multi-niveau de la hiérarchie. Aussi, lorsque l'adhésion à l'un des Enfants des collections est modifié par programme, les modifications sont correctement prises en compte dans le contrôle TreeView.

Cependant, des changements à la composition de la racine au niveau des membres ObservableCollection<Entité> ne sont pas reflétées dans le TreeView.

Toutes les suggestions seraient appréciées.

Grâce,
Tim

OriginalL'auteur Tim Coulter | 2010-01-26