【发布时间】:2013-02-22 21:30:24
【问题描述】:
我在弄清楚如何在ContextMenu 上设置正确的DataContext 时遇到了一些麻烦。
我有一组视图模型,它们是ItemsControl 的来源。每个视图模型都有一个项目集合,这些项目也是另一个 ItemsControl 的来源。每个项目用于绘制具有ContextMenu 的图像。 MenuItems 中的 ContextMenu 需要绑定到视图模型上的命令,但 ContextMenu 的 PlacementTarget 指向单个项目。
我的 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>
如何将ContextMenu的DataContext设置为item对应的父视图模型?
【问题讨论】:
标签: wpf contextmenu datacontext