From d1510b95bde053aea2012c818d34506b9e2640d6 Mon Sep 17 00:00:00 2001 From: ClaudioESSilva Date: Wed, 4 Mar 2026 10:28:04 +0000 Subject: [PATCH] Fix #410 --- Dashboard/Helpers/ChartHoverHelper.cs | 5 +++-- Lite/Helpers/ChartHoverHelper.cs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dashboard/Helpers/ChartHoverHelper.cs b/Dashboard/Helpers/ChartHoverHelper.cs index 17f2702..bc46d80 100644 --- a/Dashboard/Helpers/ChartHoverHelper.cs +++ b/Dashboard/Helpers/ChartHoverHelper.cs @@ -71,9 +71,10 @@ private void OnMouseMove(object sender, MouseEventArgs e) try { var pos = e.GetPosition(_chart); + var dpi = VisualTreeHelper.GetDpi(_chart); var pixel = new ScottPlot.Pixel( - (float)(pos.X * _chart.DisplayScale), - (float)(pos.Y * _chart.DisplayScale)); + (float)(pos.X * dpi.DpiScaleX), + (float)(pos.Y * dpi.DpiScaleY)); var mouseCoords = _chart.Plot.GetCoordinates(pixel); /* Use X-axis (time) proximity as the primary filter, Y-axis distance diff --git a/Lite/Helpers/ChartHoverHelper.cs b/Lite/Helpers/ChartHoverHelper.cs index 207f374..80d51d2 100644 --- a/Lite/Helpers/ChartHoverHelper.cs +++ b/Lite/Helpers/ChartHoverHelper.cs @@ -69,9 +69,10 @@ private void OnMouseMove(object sender, MouseEventArgs e) _lastUpdate = now; var pos = e.GetPosition(_chart); + var dpi = VisualTreeHelper.GetDpi(_chart); var pixel = new ScottPlot.Pixel( - (float)(pos.X * _chart.DisplayScale), - (float)(pos.Y * _chart.DisplayScale)); + (float)(pos.X * dpi.DpiScaleX), + (float)(pos.Y * dpi.DpiScaleY)); var mouseCoords = _chart.Plot.GetCoordinates(pixel); double bestDistance = double.MaxValue;