Как изменить значение переменной если мышь отклонилась на некоторое значение WPF
Я отслеживаю положение мыши в окне. Необходимо менять значение переменной если мышь отклонилась от текущего положения на 5px. Вот мой код:
private void Window_MouseMove(object sender, MouseEventArgs e)
{
Point currentMousePosition = Mouse.GetPosition(Application.Current.MainWindow);
if (currentMousePosition.X == currentMousePosition.X + 5 && currentMousePosition.Y == currentMousePosition.Y + 5
|| currentMousePosition.X == currentMousePosition.X - 5 && currentMousePosition.Y == currentMousePosition.Y - 5)
{
mousePosition.Content = currentMousePosition;
}
}
Ответы (1 шт):
Автор решения: reseeman
→ Ссылка
Достаточно знать дистанцию между двумя точками, где первая точка - это старое значение, которое вы сохраняете где-то за пределами события, ну а вторая - это currentMousePosition.
Point _lastPoint = new Point();
private void Window_MouseMove(object sender, MouseEventArgs e)
{
var position = Mouse.GetPosition(Application.Current.MainWindow);
var distance = Point.Subtract(_lastPoint, position);
if (distance.Length >= 5)
{
_lastPoint = position;
mousePosition.Content = position;
}
}