dotnet / dotnet/maui

CarouselView SnapPointsType not working on Windows

Open
#6,356 11 comments 4 reactions 0 assignees View on GitHub
area-controls-collectionview p/2 platform/windows s/triaged s/verified t/bug
Dominant language
C#
Stars
23.3k
Forks
2k
Avg merge
1d 15h
Merged PRs (30d)
290

Description

### Description

When setting `SnapPointsType` to `MandatorySingle` on a `CarouselView`, it won't snap / stop on the next or previous item.

When setting it to `Mandatory`, I also can't detect changes in its behaviour.

I suspect because of this, the `SnapPointsAlignment` property also doesn't work.

https://user-images.githubusercontent.com/45478482/164375632-18fc3e5e-8997-48f5-8207-9eae5b3cd2f0.mp4

### Steps to Reproduce

1. Make sure you have a touchscreen available (due to #6152)

2. Download this repro project
[CarouselViewPositionBug.zip](https://github.com/dotnet/maui/files/8524501/CarouselViewPositionBug.zip)

3. Start debugging in Windows.

3. open `MainPage.xaml` and CTRL+F for `ItemSwiper`.

4. Play around with the `SnapPointsType` and/or the `SnapPointsAlignment` property, you'll see that nothing really changes.

### Version with bug

Release Candidate 1 (current)

### Last version that worked well

Unknown/Other

### Affected platforms

Windows

### Affected platform versions

Windows latest

### Did you find any workaround?

_No response_

### Relevant log output

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the attached CarouselViewPositionBug.zip repro on Windows and inspect MainPage.xaml around ItemSwiper. Run it with a touchscreen, compare MandatorySingle and Mandatory with SnapPointsAlignment, then trace the CarouselView behavior on Windows. Done means the configured snap type and alignment visibly affect the next or previous item position.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.