Open Stedy59 opened 11 months ago
@jsuarezruiz posted a couple of issues... Put on the BACKLOG [Windows] Weird state with CarouselView - https://github.com/dotnet/maui/issues/17578 [Windows] Crash on CarouselView resizing the App Window - https://github.com/dotnet/maui/issues/17577
others BACKLOGed - 12 pages for CarouselView and CollectionView CarouselView ignores CollectionChanged events of source - https://github.com/dotnet/maui/issues/17727 [Windows] New CarouselView item doesn't render unless Window is resized - https://github.com/dotnet/maui/issues/17830 [Windows][CarouselView] HorizontalScrollBarVisibility="Never" not working in CarouselView on Windows platform - https://github.com/dotnet/maui/issues/15253 CarouselView on Windows doesn't update SelectedItem - https://github.com/dotnet/maui/issues/15900 [Windows][CarouselView] Position property not working properly - https://github.com/dotnet/maui/issues/15443
Etc.......
Just want to say in the past 9 months you have been waiting for this to be fixed you could have likely coded your own carousel view out of Image, Border, Absolute Layout, and whatever click management solution you like.
I have written my own carousels in other systems and will shortly be writing my own here too.
That's not to say MAUI shouldn't work.
It's just to point out that MAUI doesn't even have basic things working like an Editor in iOS or consistent Border/Shadow/Layout behavior. At this point, just using the bare minimum number (and most basic) of element types is likely wisest.
I have made I think a dozen verified bug reports just in the past 1-2 weeks and there are over 1000 open verified bug reports pending.
@Stedy59 just wrote another carousel yesterday for photos which took me the whole day and was no fun but it works and is perfect. It is my 3rd or 4th time doing something like this.
Just FYI if you're doing this for the first time, the main principles are:
1) Create a list of virtualized data (list of objects of class of data) that holds all the info for all elements you need to view at any point and keep this perfectly up to date in terms of their sizes and translations (will need a method for calculating expected sizes). 2) Based on distance of dragging/scrolling, judge periodically which elements of virtualized data should be visualized at any time. 3) Ensure you have an adequate number of display elements which can take this data type as an update input and display the data entries - can keep these display elements in a list also. 4) Run an update function to update the display elements based on which data is "visible" periodically based on drag or events if the data updates.
@jonmdev did it... all native!!! https://github.com/dotnet/maui/discussions/18063
Sorry, hit the wrong button!
Verified this issue with Visual Studio 17.10.0 Preview 3(8.0.7). Can repro on windows platform with sample project.
Description
Take 1: Jan 17th - [WinUI] CarouselView "Scrolled" event never fires - https://github.com/dotnet/maui/issues/12725
Take 2: June 28th - [WinUI] CarouselView / CollectionView : Control events never fire - https://github.com/dotnet/maui/issues/15914
Take 3: Jul 24th - [WinUI] CarouselView layout issues - https://github.com/dotnet/maui/issues/16322
I asked if ANYONE even tested the "fixed" code against my repo... Finally on Sep 1st, @samhouts responded and reopened it. But it is now .NET 8 GA + Servicing which brings me to ...
Take 4: Oct 13th - [WinUI] CarouselView is NOT a viable Windows control!
Steps to Reproduce
No response
Link to public reproduction project repository
https://github.com/Stedy59/MauiCarouselView
Version with bug
Unknown/Other
Is this a regression from previous behavior?
Yes, this used to work in Xamarin.Forms
Last version that worked well
Unknown/Other
Affected platforms
Windows
Affected platform versions
Windows SDK - all
Did you find any workaround?
Yes - I authored my own controls for WinUI. I will post a link to the video showing "WORKING" controls on windows.
Relevant log output
No response