繁体   English   中英

如何设置对话框到cursor的position?

[英]How do I set a dialog box to the position of the cursor?

我正在使用 WPF 开发一个应用程序,并在其中创建用户控件。 当我单击鼠标右键时,我想在与 cursor 相同的 position 中显示一个对话框,但我很困惑如何做到这一点。

以下代码在单击鼠标右键时打开一个Window Window位于鼠标指针处:

主窗口.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!">
            <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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM