I\'m currently trying to solve an issue as follows:
I have no parent window, i just right click on the second screen which opens a WPF ContextMenu (from a native C++ mot
From msdn:
When the ContextMenu is assigned to the FrameworkElement.ContextMenu or FrameworkContentElement.ContextMenu property, the ContextMenuService changes this value of this property when the ContextMenu opens. If the user opens the ContextMenu by using the mouse, Placement is set to MousePoint. If the user opens the ContextMenu by using the keyboard, Placement is set to Center. If you want to change the position of the ContextMenu, set the ContextMenuService.Placement property on the FrameworkElement or FrameworkContentElement.
Also from MSDN
You can position a ContextMenu by setting the PlacementTarget, PlacementRectangle, Placement, HorizontalOffset, and VerticalOffsetProperty properties. These properties behave the same as they do for a Popup. For more information, see Popup Placement Behavior.
More reading: ContextMenu class, PlacementMode Enumeration (actually seems useful).
Also, remember that this is actually shown inside a Popup.
Might not be relevant, but Nmaait's answer in the following link uses some win32 calls to get the position of the mouse. Maybe you can leverage this in order to get your context menu where you want it to be:
drop-a-window-into-another-window