WPF на монитор DPI Позиционирование в диалоговом окне - PullRequest
1 голос
/ 20 января 2020

У меня есть приложение WPF. Net 4.7 с разрешением DPI на монитор. Я включаю поддержку 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, все работает нормально: независимо от того, каким монитором является основное окно, диалоговое окно всегда располагается в верхнем левом углу. угол mainWindow.

Но если я запускаю приложение из Windows Explorer, диалоговое окно корректно позиционируется только на мониторе, на котором был Windows Explorer, когда я запускал приложение.

Почему это другое поведение, и как я могу правильно расположить диалоговое окно при запуске приложения из Windows Explorer?

...