wpf 如何在特定位置打开新窗口?

pieyvz9o  于 2023-03-19  发布在  其他
关注(0)|答案(1)|浏览(305)

我有一个主窗口,其中有一个按钮,单击它,一个新窗口出现,但

WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner

使其出现在主屏幕的中心。
该按钮是使用DockingManager创建的节的一部分,因此它并不总是位于一个位置,具体取决于用户将其固定的位置。
有没有办法让窗口出现在按钮旁边,看起来像一个弹出菜单?

balp4ylt

balp4ylt1#

弹出窗口比加载一个新窗体并将其显示在按钮旁边要好。但是,如果你坚持使用你的场景,你可以先获得按钮相对于主窗体的位置,然后相应地设置新窗口的位置。要做到这一点,请尝试以下代码:

Point buttonPosition = myButton.TranslatePoint(new Point(0, 0), ButtonWindow);
MyWindow wnd = new MyWindow():
Wnd.Left = buttonPosition.Left;
Wnd.Top = buttonPosition.Top;
Wnd.Show();

相关问题