Skip to content

Work required to better enable adding platforms to MAUI #12947

@PureWeen

Description

@PureWeen

Description

These items are based on a quick spike adding WPF here
This is in no way an indication of future plans. This is just PureWeen testing something out and seeing areas where we could easily expose some more public APIs.

  • Make an interface for AlertManager and make it public
  • OpenWindowRequest only accepts IPersistedState and a specific args for WinUI which makes passing in startup args awkward.
  • LifeCycle commands on pages need to be made public or interface driven (sendnavigated, sendappearing, etc...)
  • ModalNavigationManager needs a public interface
  • AlertManager needs a public interface
  • GestureManager needs a public interface
  • WinUI targets need to be shifted so they are conditional on WinUI. Currently if the OS is windows we assume WinUI which makes creating a project with <UseWPF> not possible

First impression

You can get pretty far with the current implementation.

I was able to get some features here working https://github.com/PureWeen/maui/tree/wpf_separate_project/src/Controls/samples/Controls.Sample.WPF.

  • Handlers
    • This is really the meat of it. If you just filled in all the basic control handlers (not even page level) this would cover about 90 percent of a MAUI app.
  • Fixing WinUI targets is the most important thing to fix in order to be able to do UseMauiCore/UseMaui alongside UseWPF (this is only applicable to windows based TFMS)

Metadata

Metadata

Assignees

Labels

area-setupInstallation, setup, requirements, maui-check, workloads, platform supportexternal-tfm

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions