tuve un problema relacionado - Quería capturar la posición del ratón para eventos de clic para mi ContextMenu. Problema: el CommandParameter ElementName no reconoció parent (un control de imagen).
Como referencia, el error de unión que he recibido, antes a la adición de mi menú para el espacio de nombres, fue:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=imgArena'. BindingExpression:(no path); DataItem=null; target element is 'MenuItem' (Name='mnuAddItem'); target property is 'CommandParameter' (type 'Object')
Al parecer WPF menús de contexto pertenecen a un árbol visual diferente a la de su control, por lo que la unión bastante frustrante.
Después de algunas investigaciones, he encontrado esta solución simple, que coloqué en el constructor para mi código detrás:
NameScope.SetNameScope(mnuGrid, NameScope.GetNameScope(this));
Donde "mnuGrid" es el nombre de mi menú de contexto.
Después de hacer esto, pude pasar mi control como parámetro a mi comando exactamente como lo hizo Beta Vulgaris anteriormente.
Como referencia, mi XAML se parece a esto:
<Image Name="imgArena" >
<Image.ContextMenu>
<ContextMenu Name="mnuGrid">
<MenuItem Header="Place _Entry" Name="mnuAddItem"
Command="{Binding AddEntryCmd}"
CommandParameter="{Binding ElementName=imgArena}" />
</ContextMenu>
<Image.ContextMenu>
</Image>
En caso de que no sabe cómo aceptar respuestas me gustaría dirigir hacia [este mensaje] (http://meta.stackexchange.com/questions/5234 /). –