Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Obsolete compatibility layout #23710

Merged
merged 9 commits into from
Jul 23, 2024
Merged

Conversation

PureWeen
Copy link
Member

Description of Change

We have a lot of classes that inherit from the compatibility layout which leads to a lot of extra code and workarounds. The compatibility layout also doesn't really play correctly with how the MAUI layout system works.

The motivation here will be to delete this class in a future release of MAUI.

This PR adds a version of Layout that inherits from our new layout but matches the API surface of the compatibility.Layout. In talking with customers, we've seen a number of cases where they don't want to move to the new layout because it doesn't have a generic version and it's a non trivial move because of the API shift.

Copy link
Member

@mattleibow mattleibow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think more things should be obsolete since they are not the way we want to do things.

But, I am wondering if people just liked the LayoutChildren override instead of all these other methods? Maybe we add that as a feature to the base layout so people can do this instead?

Do people really have issues with not having all these methods, or just a selection of them? Maybe we can ease the pain, but try move towards a unified/new way instead of adding old back?

src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/Layout/Layout.cs Outdated Show resolved Hide resolved
@Eilon Eilon added the area-layout StackLayout, GridLayout, ContentView, AbsoluteLayout, FlexLayout, ContentPresenter label Jul 19, 2024
@PureWeen PureWeen requested a review from mattleibow July 20, 2024 17:00
@PureWeen PureWeen force-pushed the obsolete_compatibility_layout branch from 21f2782 to a873364 Compare July 22, 2024 21:49
mattleibow
mattleibow previously approved these changes Jul 22, 2024
@PureWeen PureWeen marked this pull request as ready for review July 22, 2024 23:57
@PureWeen PureWeen requested a review from a team as a code owner July 22, 2024 23:57
@mattleibow mattleibow merged commit dcfc816 into net9.0 Jul 23, 2024
112 checks passed
@mattleibow mattleibow deleted the obsolete_compatibility_layout branch July 23, 2024 14:33
@samhouts samhouts added the fixed-in-net9.0-nightly This may be available in a nightly release! label Aug 2, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Sep 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-layout StackLayout, GridLayout, ContentView, AbsoluteLayout, FlexLayout, ContentPresenter fixed-in-net9.0-nightly This may be available in a nightly release!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants