microsoft / microsoft/microsoft-ui-xaml
Shift-clicking in scroll bar should jump to destination
- Dominant language
- C++
- Stars
- 8.4k
- Forks
- 942
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 105
Description
### Describe the bug
When clicking inside a light area of the scroll bar, the scroll view jumps a page, as expected.
However, when shift-clicking, it still jumps page by page. This is inconsistent with how Win32 and WPF behave: when shift-clicking in those, the scroll view jumps _to the destination_.
For example, given this scroll bar:
If I click near the bottom arrow, it should jump one page each, so I need about four clicks to get near the bottom of the content. But if I shift-click, it should immediately jump to the bottom of the content.
### Why is this important?
This behavior is inconsistent with other Windows apps. Other than Win32 and WPF (e.g., Visual Studio 2026), Chromium also implements this correctly. It's a rather basic and widespread control, so it should behave consistently with Windows.
### Steps to reproduce the bug
1. Open Notepad
2. Open a file with many pages of text, so you have a relatively _short_ scroll knob
3. Try clicking, then shift-clicking the scroll bar.
### Actual behavior
The behavior is identical: whether you hold shift or not, the scroll bar scrolls one page at a time.
### Expected behavior
When holding shift, it should ignore the intermediate pages and scroll directly to the position of the mouse pointer.
### Screenshots
_No response_
### NuGet package version
Notepad 26220.8690
### Windows version
Windows Insider Build (xxxxx)
### Additional context
See also tweet: https://x.com/JacqBens/status/2070611493935059382?s=20
Contributor guide
Research direction
Reproduce the issue in Notepad with a long text file, comparing ordinary clicks with Shift-clicks in the scroll bar's light area. Trace the scroll bar input handling and add coverage for the expected direct jump to the mouse pointer position; done means Shift-click skips intermediate pages while ordinary clicks retain page-by-page behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100