Estoy tratando de obtener un menú contextual dentro de ListBox ItemTemplate para llamar a un método en el modelo de vista principal, pasando el elemento que se hizo clic como parámetro. Tengo esto funcionando para otros botones en la plantilla del elemento, pero para el menú contextual parece estar fallando.WPF Menús de contexto en Caliburn Micro
Tengo el siguiente XAML (abreviado para mayor claridad):
<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>
Tengo la sensación de que esto tiene que ver con el hecho de que el árbol visual es diferente, por lo Caliburn es incapaz de resolver el método fiable. Estoy seguro de que este es un problema común, y he intentado algunas de las cosas que he encontrado en línea, pero parece que nada funciona.
¿Alguna idea?
Voy a intentar esto lo antes posible. – jonnii
Me pregunto por qué esto no fue aceptado. Me ayudó mucho, gracias. –