我在弄清楚如何DataContext
在ContextMenu
.
我有一组视图模型,它们是ItemsControl
. 每个视图模型都有一个项目集合,这些项目也是另一个项目的来源ItemsControl
。每个项目用于绘制具有ContextMenu
. MenuItems
需要ContextMenu
绑定到视图模型上的命令,但是PlacementTarget
指向ContextMenu
单个项目。
我的 Xaml 看起来像这样:
<ItemsControl ItemsSource="{Binding Markers"}>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image>
<Image.ContextMenu>
<ContextMenu>
<MenuItem Header="Edit" Command="{Binding EditCommand}" />
</ContextMenu>
</Image.ContextMenu>
</Image>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
如何将 的 设置DataContext
为ContextMenu
项目的相应父视图模型?