У меня возникли проблемы с установкой правильного 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
на элемент, соответствующий модели родительского представления?