Skip to content

Commit b5e4b2c

Browse files
committed
enhance: scrolling accumulation
Signed-off-by: leo <longshuang@msn.cn>
1 parent 401e686 commit b5e4b2c

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

src/Views/BinaryFileViewer.axaml.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -335,16 +335,15 @@ protected override void OnPointerWheelChanged(PointerWheelEventArgs e)
335335
{
336336
base.OnPointerWheelChanged(e);
337337

338-
if (Content is not ViewModels.BinaryFile file)
338+
if (Content is not ViewModels.BinaryFile)
339339
return;
340340

341341
// TextBox itself contains a ScrollBar.
342342
var scroller = this.FindDescendantOfType<ScrollBar>(false, s => s.Name.Equals("HexViewerScroller", StringComparison.Ordinal));
343343
if (scroller == null)
344344
return;
345345

346-
var delta = Math.Ceiling(e.Delta.Y) * HexViewer.LINE_HEIGHT;
347-
scroller.Value -= delta;
346+
scroller.Value -= e.Delta.Y * HexViewer.LINE_HEIGHT;
348347
}
349348

350349
private void OnScrollBarValueChanged(object sender, RangeBaseValueChangedEventArgs e)
@@ -411,8 +410,7 @@ private void OnGotoAddressTextChanged(object sender, TextChangedEventArgs e)
411410
if (scroller == null)
412411
return;
413412

414-
var viewport = Bounds.Height - HexViewer.HEADER_HEIGHT - 26;
415-
var offset = Math.Floor(idx / (double)HexViewer.BYTES_PER_LINE) * HexViewer.LINE_HEIGHT - (viewport * 0.5);
413+
var offset = Math.Floor(idx / (double)HexViewer.BYTES_PER_LINE) * HexViewer.LINE_HEIGHT - (scroller.ViewportSize * 0.5);
416414
scroller.Value = Math.Max(0, offset);
417415

418416
var viewer = this.FindDescendantOfType<HexViewer>(false);

0 commit comments

Comments
 (0)