Flyouts, Tabs, and Popups in One .NET MAUI App
Written for .NET MAUI UI July 2026, Mark Laureta walks through Food Delivery, the showcase app for MvvmEssentials, a navigation and MVVM library he built as an alternative to Shell. Each screen highlights a different piece of the framework.
What you’ll learn
- A unified lifecycle contract — a
PageViewModelbase with hooks likeOnParametersSet,OnNavigatedTo/From, andOnInitializedshared across surfaces - Flyout + tabs shell — composing a
FlyoutPagewith a nestedTabbedPage, and behaviors that fix lifecycle propagation into the detail - Once vs. every time — deciding between
OnInitializedandOnNavigatedTo/OnTabSelectedfor loading data - Typed navigation — passing typed parameters instead of route strings, with auto-mapped properties
- Popups that return results — awaiting a typed result from a popup instead of callbacks or shared state
- Registering it all — wiring pages, tabs, and popups with a fluent
MapPage/RegisterPageregistry
Read the full post and grab the Food Delivery repo to run the complete example.