WPF: TreeViewItem привязан к ICommand

Я занят созданием моего первого приложения MVVM в WPF.

В основном проблема, с которой я сталкиваюсь, состоит в том, что у меня есть TreeView (System.Windows.Controls.TreeView), который я поместил в свое окно WPF, я решил, что я буду привязывать к ReadOnlyCollection элементов CommandViewModel, и эти элементы состоят из DisplayString, Tag и RelayCommand.

Теперь в XAML у меня есть TreeView, и я успешно связал свою коллекцию ReadOnlyCollection с этим. Я могу просмотреть это, и все выглядит хорошо в пользовательском интерфейсе.

Теперь проблема в том, что мне нужно привязать RelayCommand к команде TreeViewItem, однако, как я вижу, TreeViewItem не имеет команды. Это заставляет меня делать это в свойстве IsSelected или даже в коде метода TreeView_SelectedItemChanged, или есть способ сделать это волшебным образом в WPF?

Вот код, который у меня есть:

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

и в идеале я бы с удовольствием просто поехал

<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>

Есть ли у кого-то решение, которое позволяет мне использовать инфраструктуру RelayCommand, которая у меня есть.

Спасибо, ребята, высоко ценится!

Ричард

Ответы на вопрос(5)

Ваш ответ на вопрос