У меня есть приложение 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?