我目前有一个使用MVVM模型的UserControl。
在该控件中,有一个TreeView用于显示一些项。我为这个TreeView添加了一个HierarchicalDataTemplate,并在该模板中添加了一个Items的ContextMenu。
ViewModel是该控件(名为RestoresTreeViewControl)的DataContext,在其中有一个命令,我想将其中一个菜单项绑定到该命令。但是我的做法似乎没有起作用。我收到了通常的无法找到绑定引用源的错误信息。
以下是我尝试将EditDatabaseCommand绑定到其中一个菜单项的datatemplate的代码片段。
在该控件中,有一个TreeView用于显示一些项。我为这个TreeView添加了一个HierarchicalDataTemplate,并在该模板中添加了一个Items的ContextMenu。
ViewModel是该控件(名为RestoresTreeViewControl)的DataContext,在其中有一个命令,我想将其中一个菜单项绑定到该命令。但是我的做法似乎没有起作用。我收到了通常的无法找到绑定引用源的错误信息。
以下是我尝试将EditDatabaseCommand绑定到其中一个菜单项的datatemplate的代码片段。
<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; }