Я пытаюсь получить контекстное меню в ListBox ItemTemplate, чтобы вызвать метод в родительской модели представления, передав элемент, на который был нажат параметр. У меня это работает для других кнопок в шаблоне элемента, но для контекстного меню он, кажется, терпит неудачу.
У меня есть следующий xaml (сокращенно для ясности):
<ListBox>
<ListBox.GroupStyle>
<GroupStyle>
...
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ContextMenu>
<ContextMenu Name="cm">
<MenuItem Header="Open"
cal:Message.Attach="Open($dataContext)">
</MenuItem>
</Grid.ContextMenu>
<TextBlock VerticalAlignment="Center" >
.. text..
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
У меня такое чувство, что это связано с тем, что визуальное дерево отличается от других, поэтому Caliburn неспособно надежно разрешить метод. Я уверен, что это обычная проблема, и я пробовал несколько вещей, которые я нашел в Интернете, но ничего не работает.
Любые идеи?