1

我有一个 WPF .Net 4.7 应用程序,每个监视器都有 DPI Aware。我按照此处解释的解决方案启用 DPI 意识。

我想在主窗口的左上角打开一个对话框,然后执行以下操作:

 var window = new Window();
 window.Owner = mainWindow;
 window.WindowStartupLocation = WindowStartupLocation.Manual;
 window.Left = mainWindow.Left;
 window.Top = mainWindow.Top;
 window.Show();

我有 2 台具有不同 DPI 比例的显示器。

如果我从 Visual Studio 运行应用程序,一切正常:无论主窗口是哪个监视器,对话框始终位于主窗口的左上角。

但是,如果我从 Windows 资源管理器运行应用程序,则对话框仅在我启动应用程序时 Windows 资源管理器所在的监视器上正确定位。

为什么会出现这种不同的行为,以及当我从 Windows 资源管理器运行应用程序时如何正确定位对话框?

4

0 回答 0