UserControl1とUserControl2を含むウィンドウがあります。これらのユーザーコントロールには、独自のビューモデルがあります。また、これらのユーザーコントロールは、UserControl3を使用してデータを表示します。したがって、UserControl1がUserControl3を使用する場合、UserControl3はUserControl1と同じビューモデルを持ちます。
UserControl1のビューモデルにあるコマンドを呼び出したいUserControl3にバインディングがあります。
しかし、私はそれを機能させる方法を見つけることができません。どんな助けでも歓迎します。どうもありがとうございます。
これが機能しない私のバインディングです:
<UserControl x:Class="MyNamespace.UserControl3"
xmlns:local="clr-namespace:MyNamespace">
<UserControl.Resources>
<DataTemplate DataType="{x:Type g:GraphNode}">
<StackPanel>
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="My Command" Command="{Binding Path=DataContext.MyCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:UserControl3}}}"/>
</ContextMenu>
</StackPanel.ContextMenu>
<Grid>
<ContentControl Content="{Binding Data}"/>
</Grid>
</StackPanel>
</DataTemplate>
</UserControl.Resources>