dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.15k stars 1.74k forks source link

X2Property binding seems to be unfunctional in a carouselview #21289

Open Vannoctar2 opened 7 months ago

Vannoctar2 commented 7 months ago

Description

Hello,

I have a control that allows you to define the scroll of a scrollview. This control is defined by lines and ellipses.

This control is placed inside a carouselview. This project worked well with xamarin.

When I run the carouselview, the main page and the -1 and +1 neighbors work as they should. However, views -2,-3, +2,+3 are not displayed correctly.

The size of the lines is defined by the LineWidth property and I bind it. This property is then updated in the Layout_SizeChanged function.

It seems to be updated everywhere since I'm posting it in a label. However, I don't know why, the sizes are not updated in certain carouselviews.

Did I make a code error?

Thanks for your help.

I want this view inside all pages.

image

Now, i have the correct view on first page, and i have this view on page +2 or +3.

image

Thank you!

Steps to Reproduce

Link to public reproduction project repository

https://github.com/Vannoctar2/ReportBugMaui

Version with bug

9.0.0-preview.1.9973

Is this a regression from previous behavior?

Yes, this used to work in Xamarin.Forms

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

Android 14 - API 34. Emulator Pixel 5

Did you find any workaround?

No response

Relevant log output

No response

ninachen03 commented 7 months ago

Verified this issue with Visual Studio 17.10.0 Preview 2.(8.0.10) Can repro on Android platform with sample project.

Vannoctar2 commented 7 months ago

I noticed another bug.

If I modify the scroll of a view. This also affects scrolling in another view of Carouselview.

Vannoctar2 commented 7 months ago

I think the method LayoutSize_Changed is not called everytimes.