KEMBAR78
Further remove dependency of Compatibility.Layout on all modern .NET MAUI controls · Issue #28736 · dotnet/maui · GitHub
Skip to content

Further remove dependency of Compatibility.Layout on all modern .NET MAUI controls #28736

@PureWeen

Description

@PureWeen

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description of Change

Ideally we will eventually be able to remove Compatibility.Layout but we are still in a state where if users have overridden certain methods or are calling some properties that are still on Compatibility.Layout then the binary isn't compatible. This PR copies all of the public APIs to the subclasses so whenever users override or call those methods/properties on the base class the IL will resolved to the derived type vs the Compatibility.Layout

We have also implemented a property that will detect if the Compatibility.Layout is being used with any of our modern layouts. If it is then we just bypass all of the Compatibility.Layout logic so that it doesn't interfere with performance or the MAUI logic

Issues Fixed

Fixes #28736

Sub-issues

Metadata

Metadata

Labels

area-layoutStackLayout, GridLayout, ContentView, AbsoluteLayout, FlexLayout, ContentPresenters/triagedIssue has been reviewed

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions