Tengo un ListView
y me gustaría configurar un menú contextual que puedo abrir no solo al hacer clic con el botón derecho en alguna columna pero en cualquier parte del ListViewItem
, para hacer así que pensé que simplemente había configurado mi ContextMenu
usando un setter de estilo ya que no puedo acceder directamente al ListViewItem
.Configuración de controladores de eventos dentro de una estructura Setter.Value
Desafortunadamente cuando intenta hacerlo de esta manera que no se compilará:
<Style TargetType="ListViewItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Header" Click="Handler"/>
...
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
Error 102 'Handler' no es válido. 'Click' no es un evento en 'System.Windows.Controls.GridView'.
que pensé que se puede evitar mediante el uso de un EventSetter
para la Click
-Evento. Pero es evidente que el código se infló bastante de todas las etiquetas de embalaje que necesita.
Mi pregunta es si hay alguna solución para que no tenga que tratar con EventSetters
.
Editar: Ver this question una explicación sobre por qué se produce este error.
¡Buena idea! Gracias. –