[Windows] CarouselView.Position binding reverts when IsScrollAnimated=True and Windows "Animation effects" is disabled
- Dominant language
- C#
- Stars
- 23.3k
- Forks
- 2k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 296
Description
### Description
On Windows in .NET MAUI (.NET 9 and .NET 10), CarouselView.Position does not behave correctly with MVVM binding when:
- Windows Animation effects are turned off (`Settings > Accessibility > Visual effects > Animation effects`).
- `CarouselView.IsScrollAnimated` is `True`, and
With this configuration, clicking Next Carousel Item updates the bound view model property (ItemPosition) to the new value, the UI advances, but then the binding immediately pushes the previous value back to the view model - effectively reverting ItemPosition (it looks like the binding source is being reset right after the position change).

### Steps to Reproduce
1. On Windows, disable animation effects:
`Windows Settings > Accessibility > Visual effects > Animation effects` → `Off`
3. Build and run the app on Windows.
4. Ensure `IsScrollAnimated` is `on` (toggle switch).
5. Click Next Carousel Item.
6. Observe CarouselView.`Position`.
### Link to public reproduction project repository
https://github.com/idenardi/maui-carousel-animation-effects-off
### Version with bug
10.0.1
### Is this a regression from previous behavior?
Not sure, did not test other versions
### Last version that worked well
Unknown/Other
### Affected platforms
Windows
### Affected platform versions
Windows SDK 10.0.19041.0
### Did you find any workaround?
A workaround is to set IsScrollAnimated=False
### Relevant log output
```shell
```
Contributor guide
Research direction
Start with the linked public reproduction project and run it on Windows with Animation effects disabled and CarouselView.IsScrollAnimated enabled. Trace the CarouselView.Position binding while clicking Next Carousel Item; done means the UI advances and the bound ItemPosition remains at the new value instead of reverting.
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
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100