我试图在 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 无法可靠地解析该方法。我确定这是一个常见问题,我已经尝试了一些我在网上找到的东西,但似乎没有任何效果。
有任何想法吗??