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, которая у меня есть.
Спасибо, ребята, высоко ценится!
Ричард