以下のマークアップでは、階層テンプレートのツリービューのノードにコンテキスト メニューを使用しています。問題は、コンテキスト メニュー項目を個々のコマンドにバインドしたいのですが、コンテキスト メニュー項目スタイルを使用しているため、コマンドをメニュー項目にバインドする方法が他にありません。ビュー モデルのルートで定義されたコマンドにそれらをバインドするにはどうすればよいですか。
<HierarchicalDataTemplate x:Key="NodeTemplate">
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="Copy">
</MenuItem>
<MenuItem Header="Paste">
</MenuItem>
<ContextMenu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Command" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.Copy}"/>
<Setter Property="CommandParameter" Value="{Binding Tag}"/>
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
</StackPanel.ContextMenu>
<TextBlock Text="{Binding Path=Label}" Style="{StaticResource TreeTextStyle}" ToolTip="{Binding Path=Description}" Tag="{Binding Path=Tag}">
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>