Я пытаюсь получить контекстное меню в ListBox ItemTemplate, чтобы вызвать метод в родительской модели представления, передав элемент, на который был нажат в качестве параметра. У меня это работает для других кнопок в шаблоне элемента, но для контекстного меню он, кажется, терпит неудачу.Контекстные меню WPF в Caliburn Micro
У меня есть следующий код 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 не в состоянии решить метод надежно. Я уверен, что это обычная проблема, и я пробовал несколько вещей, которые я нашел в Интернете, но ничего не работает.
Любые идеи?
Я попробую попробовать как можно скорее. – jonnii
Интересно, почему это не произошло. Большое спасибо, спасибо. –