我正在尝试在一个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无法可靠地解析该方法。我相信这是一个常见的问题,我已经尝试了网上找到的一些方法,但似乎没有任何作用。
有什么想法吗?