wpf中如何像标准对话框一样设置自定义对话框的自动启动定位?

How to set the automatic start positioning of a custom dialog like a standard dialog box in wpf?

例如示例按钮位于显示器的右上角,由于在window之外,按钮被截断了。

在此状态下,按下按钮调用OpenFileDialog.ShowDialog()。

然后,OpenFileDialog 自动在内部创建,而不是在 window 外部。 即使有两个或更多监视器,也会自动应用此自动定位。 如何将此自动定位应用到我的自定义对话框? 目前,在我的代码中使用鼠标位置,以便自定义对话框出现在单击的位置,但在 window 屏幕边框线处创建时被切断。 (我的对话框继承了Windowclass。)

使用Window.WindowStartupLocation Property.

  • Manual 导致 window 根据其 Left 和 Top 属性.
  • 定位
  • CenterScreen 导致 window 位于包含鼠标光标的屏幕中央。
  • CenterOwner 导致 window 位于其所有者 window
  • 的中心