У меня есть окно, которое содержит UserControl1 и UserControl2. Эти пользовательские элементы управления имеют свои собственные режимы просмотра. Кроме того, эти пользовательские элементы управления используют UserControl3 для отображения данных. Таким образом, когда UserControl1 использует UserControl3, UserControl3 имеет ту же модель представления, что и UserControl1.WPF usercontrol command binding to window viewmodel
У меня есть привязка в UserControl3, которую я хочу вызвать командой, которая находится на viewmodel UserControl1.
Но я не могу найти способ заставить его работать. Любая помощь приветствуется. Большое спасибо.
Вот мое связывание, который не работает:
<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>