Неверное положение мыши с разными настройками DPI в WPF

Я использую приведенный ниже код, чтобы получить текущую позицию мыши в приложении WPF.

System.Drawing.Point _point = System.Windows.Forms.Control.MousePosition;

Это хорошо работает. Но когда у пользователя 125% настройки отображения в машине (Windows 7), положение мыши неправильное. Я делаю что-то не так?


person WPF Lover    schedule 06.06.2012    source источник


Ответы (1)


Посмотрите, есть ли что-нибудь в этом блоге или в этом < href="http://wpftutorial.net/Mouse.html" rel="nofollow">Блог помогает, а поскольку вы используете Wpf, попробуйте использовать Mouse.GetPosition, как в этом модифицированном примере MSDN:

// displayArea is the main window and txtBoxMousePosition is
// a TextBox used to display the position of the mouse pointer.

private void Window_MouseMove(object sender, MouseEventArgs e)
{
    Point position = Mouse.GetPosition(this);
    txtBoxMousePosition.Text = "X: " + position.X + "\n" + "Y: " + position.Y; 
}
person Mark Hall    schedule 06.06.2012
comment
Первая ссылка (switchonthecode.com/tutorials/) особенно полезен, так как я столкнулся с Mouse.GetPosition() не совсем рабочей проблемой. - person seeker; 02.08.2012