私はUserControl1とUserControl2を含むウィンドウを持っています。これらのユーザーコントロールには独自のビューモデルがあります。また、これらのユーザーコントロールはUserControl3を使用してデータを表示します。したがって、UserControl1がUserControl3を使用する場合、UserControl3はUserControl1と同じviewmodelを持ちます。WPF usercontrolコマンドのウィンドウへのバインディングviewmodel
UserControl1のviewmodelにあるコマンドを呼び出す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>