您是否尝试过:
这将使ContextMenu在右键单击鼠标的位置(在按钮上)打开。
我认为这可能是你想要的位置,对吗?
---编辑---
在这种情况下,请使用:
在代码背后:
private void ContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
// Get the button and check for nulls
Button button = sender as Button;
if (button == null || button.ContextMenu == null)
return;
// Set the placement target of the ContextMenu to the button
button.ContextMenu.PlacementTarget = button;
// Open the ContextMenu
button.ContextMenu.IsOpen = true;
e.Handled = true;
}
您可以为多个按钮和ContextMenu重用该方法。