如何将对话框设置为光标的位置?

问题描述 投票:0回答:2

我正在使用WPF开发应用程序,并在其中创建用户控件。当我单击鼠标的右键时,我想在与光标相同的位置显示一个对话框,但我对此感到困惑。

c# wpf dialog user-controls mouseclick-event
2个回答
0
投票

以下代码在单击鼠标右键时打开WindowWindow位于鼠标指针上:

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();
  }
}

0
投票

非常确定您要查找的内容已经可用并且已检查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>

enter image description here

请参见以下参考:

https://www.wpf-tutorial.com/common-interface-controls/contextmenu/

© www.soinside.com 2019 - 2024. All rights reserved.