我正在使用WPF开发应用程序,并在其中创建用户控件。当我单击鼠标的右键时,我想在与光标相同的位置显示一个对话框,但我对此感到困惑。
以下代码在单击鼠标右键时打开Window
。 Window
位于鼠标指针上:
MainWindow.xaml.cs
partial class MainWindow : Window
{
protected override void OnMouseRightButtonUp(MouseButtonEventArgs e)
{
base.OnMouseRightButtonUp(e);
var mousePointerPosition = PointToScreen(e.GetPosition(this));
var dialog = new Window()
{
Top = mousePointerPosition.Y,
Left = mousePointerPosition.X,
Width = 100,
Height = 100
};
dialog.ShowDialog();
}
}
非常确定您要查找的内容已经可用并且已检查ContextMenu。
<Button Content="Right-click me!" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button.ContextMenu>
<ContextMenu>
<MenuItem Header="Menu item 1" />
<MenuItem Header="Menu item 2" />
<Separator />
<MenuItem Header="Menu item 3" />
</ContextMenu>
</Button.ContextMenu>
</Button>
请参见以下参考:
https://www.wpf-tutorial.com/common-interface-controls/contextmenu/