private TimeSeriesDataPoint GetInterpolatedDataPointFromMouseCoordinates(TimeSeriesData Series, Point mousePos) { TimeSeriesDataPoint dataPoint = new TimeSeriesDataPoint(); dataPoint.TimeStamp = DateTime.Now; dataPoint.Value = double.NaN; Point pos = mousePos; pos.Y = ChartInteractiveCanvas.ActualHeight - pos.Y; GeneralTransform inverse = shapeTransform.Inverse; if (inverse != null) { pos = inverse.Transform(pos); DateTime xVal = Series.FromPointSeconds(pos.X); double yVal = Series.GetClosedInterpolatedValue(xVal); dataPoint.TimeStamp = xVal; dataPoint.Value = yVal; } return dataPoint; }