Проблемы размещения окна WPF: координаты экрана не совпадают с координатами экрана - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь закрепить окно, установив его левое и верхнее положение, а также подгоняя его размер к ширине и высоте экрана. Тем не менее, результат всегда отключен на несколько пикселей. Как вы можете видеть на рисунке ( слева: результат в соответствии с моим кодом, справа: если я закрепляю приложение с помощью WindowsKey-Left ), единственной правильной координатой является верхняя позиция окна.

Это мой код:

        System.Drawing.Rectangle screenBounds = System.Windows.Forms.Screen.AllScreens[0].WorkingArea;
        this.Left = 0;
        this.Top = 0;

        PresentationSource source = PresentationSource.FromVisual(this);
        double dpiX=0, dpiY=0;
        if (source != null)
        {
            dpiX = 96.0 * source.CompositionTarget.TransformToDevice.M11;
            dpiY = 96.0 * source.CompositionTarget.TransformToDevice.M22;
        }

        this.Width = 1920 / (2.0 * (dpiX / 96.0));
        this.Height = 1020 / (dpiY / 96.0);

Любая помощь будет принята с благодарностью.

...