[Windows] Fixed the exception when using CarouselView PeekAreaInsets Property in OnSizeAllocated method #26865
+3
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue Detail
A layout cycle exception occurs on Windows when using PeekAreaInsets in the OnSizeAllocated method.
Root Cause
The InvalidateMeasure method was being called individually on each ItemContentControl within ListViewBase. This led to multiple redundant measure invalidations, causing an infinite loop and triggering a layout cycle exception.
Description of Change
The individual InvalidateMeasure calls on each ItemContentControl were replaced with a single InvalidateMeasure call on the parent ListViewBase, ensuring efficient layout recalculations and preventing layout cycle issues.
Tested the behaviour in the following platforms
Issues Fixed
Fixes #26822
Screenshots
Before
After