protected override IRange OnCalculateNewXRange(IAxis xAxis) { // The Current XAxis VisibleRange var currentVisibleRange = xAxis.VisibleRange.AsDoubleRange(); // The MaxXRange is the VisibleRange on the XAxis if we were to zoom to fit all data var maxXRange = xAxis.GetMaximumRange().AsDoubleRange(); double xMax = Math.Max(maxXRange.Max, currentVisibleRange.Max); // Scroll showing latest window size return(new DoubleRange(xMax - _windowSize.TotalMilliseconds, xMax)); }
protected override IRange OnCalculateNewXRange(IAxis xAxis) { // The Current XAxis VisibleRange var currentVisibleRange = xAxis.VisibleRange.AsDoubleRange(); if (ParentSurface.ZoomState == ZoomStates.UserZooming) { return(currentVisibleRange); // Don't scroll if user is zooming } // The MaxXRange is the VisibleRange on the XAxis if we were to zoom to fit all data var maxXRange = xAxis.GetMaximumRange().AsDoubleRange(); double xMax = Math.Max(maxXRange.Max, currentVisibleRange.Max); // Scroll showing latest window size return(new DoubleRange(xMax - _windowSize, xMax)); }