Overview
A high-level overview of Maui.MvvmZero
MvvmZero is intended to be used for ViewModel based navigation. Views (Pages) are fully decoupled and can even be swapped at runtime, e.g. between a Portrait and Landscape View.
Can be used seamlessly with additional libraries such as FunctionZero.CommandZero
(never write an 'IsBusy' flag again), FunctionZero.zBind (never write a ValueConverter again), FunctionZero.Maui.Controls and AnimationZero.
Naming conventions are encouraged but not enforced, so you can use your own, or none at all.
Useful base classes are provided for your ViewModels, but they are not required or enforced.
ViewModels can be associated with different Views for Portrait, Landscape, Phone, Tablet, Desktop, as well as customised for the current user, e.g. Administrator, Field worker, sales etc.
Navigation by ViewModel is recommended and has first-class support.
Page navigation is also supported, as is mix and match MAUI navigation and MvvmZero page or ViewModel navigation without things breaking!
Special support for Flyout and derivatives.
Special support for IMultiPage (e.g. TabbedPage) and derivatives.
ViewModel initialisation is typesafe, optional, and asynchronous if you want it to be.
Last updated