WPF: TreeViewItem lié à un ICommand

Je suis en pleine création de mon premier MVVM application en WPF.

Fondamentalement le problème que j'ai c'est que j'ai un TreeView (Système d'.De Windows.Les contrôles.TreeView), que j'ai placé sur ma Fenêtre WPF, j'ai décider que je vais lier à un ReadOnlyCollection de CommandViewModel éléments, et ces éléments sont constitués d'un DisplayString, Tag et un RelayCommand.

Maintenant dans le code XAML, j'ai mon TreeView et j'ai lié avec succès mon ReadOnlyCollection. Je peux voir ce et tout semble parfait dans l'INTERFACE utilisateur.

Le problème maintenant est que j'ai besoin de lier la RelayCommand à la Commande de la TreeViewItem, mais à partir de ce que je peux voir la TreeViewItem ne dispose pas d'une Commande. Est-ce à force de me le faire dans la propriété IsSelected ou même dans le Code-behind de TreeView_SelectedItemChanged méthode ou est-il un moyen de le faire comme par magie dans WPF?

C'est le code que j'ai:

<TreeView BorderBrush="{x:Null}" 
      HorizontalAlignment="Stretch" 
      VerticalAlignment="Stretch">
<TreeView.Items>
    <TreeViewItem
        Header="New Commands"
        ItemsSource="{Binding Commands}"
        DisplayMemberPath="DisplayName"
        IsExpanded="True">
    </TreeViewItem>
</TreeView.Items>

et, idéalement, j'aimerais juste aller:

<TreeView BorderBrush="{x:Null}" 
      HorizontalAlignment="Stretch" 
      VerticalAlignment="Stretch">
<TreeView.Items>
    <TreeViewItem
        Header="New Trade"
        ItemsSource="{Binding Commands}"
        DisplayMemberPath="DisplayName"
        IsExpanded="True"
        Command="{Binding Path=Command}">
    </TreeViewItem>
</TreeView.Items>

Quelqu'un a une solution qui me permet d'utiliser le RelayCommand infrastructures j'ai.

Merci les gars, très apprécié!

Richard

OriginalL'auteur Richard | 2010-02-15