В настоящее время у меня есть UserControl, который использует модель MVVM.
В этом элементе управления есть TreeView, в котором отображаются некоторые элементы. Я добавил HierarchicalDataTemplate для этого TreeView, и в этом шаблоне есть ContextMenu для элементов.
В ViewModel, который представляет собой DataContext элемента управления (с именем RestoresTreeViewControl), есть команда, к которой я хочу привязать один из элементов меню. Однако то, что я сделал, похоже, не работает. Я получаю обычное сообщение: «Не могу найти источник ссылки на привязку».
Вот фрагмент кода для таблички данных, который пытался привязать EditDatabaseCommand к одному из пунктов меню.
<HierarchicalDataTemplate DataType="{x:Type model:Database}" >
<StackPanel>
<TextBlock Text="{Binding Name}" >
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="Edit" Command="{Binding ElementName=RestoresTreeViewControl, Path=DataContext.EditDatabaseCommand}" />
<MenuItem Header="Delete"/>
<Separator/>
<MenuItem Header="Test Connection"/>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
Вот часть ViewModel, где находится команда.
public ICommand EditDatabaseCommand { get; private set; }