dotnet / dotnet/maui

Windows ScrollView does not pass touch to parent pan gesture when scroll using screen touch

Open
#5,189 6 comments 0 reactions 0 assignees View on GitHub
area-gestures legacy-area-controls platform/windows s/triaged s/verified t/bug
Dominant language
C#
Stars
23.3k
Forks
2k
Avg merge
1d 14h
Merged PRs (30d)
296

Description

### Description

We are using the custom layout that holds the vertical scroll view and the custom layout has a pan gesture to handle the horizontal swipe. It was not working correctly while scrolling the scroll view using screen touch in windows. Guide us to resolve the issue.

```
Grid customGrid = new Grid();
StackLayout customStckLayout = new StackLayout();
for(int i =0; i < 100; i++)
{
customStckLayout.Add(new Grid()
{
BackgroundColor = Colors.Red,
Margin = new Thickness(1),
HeightRequest = 50,
});
}
ScrollView customScrollView = new ScrollView();
customScrollView.Orientation = ScrollOrientation.Vertical;
customScrollView.Content = customStckLayout;
customGrid.Add(customScrollView);
PanGestureRecognizer pan = new PanGestureRecognizer();
pan.PanUpdated += Pan_PanUpdated;
customGrid.GestureRecognizers.Add(pan);
this.Content = customGrid;

```

### Steps to Reproduce

1. Create the custom layout with scroll view
2. Add pan gesture to the custom layout
3. Check the pan gesture by pan the custom layout by mouse/trackpad
4. Scroll the scroll view using screen touch
5. Again try to swipe the custom layout does not triggered pan updated event.

### Version with bug

Preview 13 (current)

### Last version that worked well

Unknown/Other

### Affected platforms

Windows

### Affected platform versions

Windows 10.0.17134.0

### Did you find any workaround?

No

### Relevant log output

Not Applicable

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the provided custom Grid, vertical ScrollView, and PanGestureRecognizer sample on Windows with mouse, trackpad, and screen touch. Trace the Windows touch handling around ScrollView and the parent pan gesture; done means PanUpdated fires reliably after and during touch scrolling while vertical scrolling still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.