Skip to content

Commit 5cc615d

Browse files
committed
feature: enable horizontal scrolling in chart
Signed-off-by: leo <longshuang@msn.cn>
1 parent 33b9e0a commit 5cc615d

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

src/Views/Chart.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,22 @@ protected override void OnPointerReleased(PointerReleasedEventArgs e)
248248
e.Pointer.Capture(null);
249249
}
250250

251+
protected override void OnPointerWheelChanged(PointerWheelEventArgs e)
252+
{
253+
e.Handled = true;
254+
255+
var deltaX = e.KeyModifiers == KeyModifiers.Shift ? e.Delta.Y : e.Delta.X;
256+
var deltaOffset = Bounds.Width * deltaX * 0.5;
257+
var desired = Math.Max(0, Math.Min(_offsetX + deltaOffset, _maxOffsetX));
258+
if (Math.Abs(desired - _offsetX) < 0.1)
259+
return;
260+
261+
_offsetX = desired;
262+
_isDraging = false;
263+
_lastHitted = new Rect(0, 0, 0, 0);
264+
InvalidateVisual();
265+
}
266+
251267
private record HitBox(Rect Rect, ChartToolTip ToolTip);
252268

253269
private double _offsetX = 0;

0 commit comments

Comments
 (0)