Windows ScrollView does not pass touch to parent pan gesture when scroll using screen touch
- 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
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