Goldie.MauiPlugins.PageResolver
2.5.4
dotnet add package Goldie.MauiPlugins.PageResolver --version 2.5.4
NuGet\Install-Package Goldie.MauiPlugins.PageResolver -Version 2.5.4
<PackageReference Include="Goldie.MauiPlugins.PageResolver" Version="2.5.4" />
<PackageVersion Include="Goldie.MauiPlugins.PageResolver" Version="2.5.4" />
<PackageReference Include="Goldie.MauiPlugins.PageResolver" />
paket add Goldie.MauiPlugins.PageResolver --version 2.5.4
#r "nuget: Goldie.MauiPlugins.PageResolver, 2.5.4"
#:package Goldie.MauiPlugins.PageResolver@2.5.4
#addin nuget:?package=Goldie.MauiPlugins.PageResolver&version=2.5.4
#tool nuget:?package=Goldie.MauiPlugins.PageResolver&version=2.5.4
Watch the video:
<a href="http://www.youtube.com/watch?feature=player_embedded&v=qx8A4zIe9dU" target="_blank"> <img src="http://img.youtube.com/vi/qx8A4zIe9dU/hqdefault.jpg" alt="Watch the video" /> </a>
MAUI PageResolver
A simple and lightweight page resolver for use in .NET MAUI projects.
If you want a simple page resolver with DI without using a full MVVM framework (or if you want to use MVU), this package will let you navigate to fully resolved pages, with view models and dependencies, by calling:
await Navigation.PushAsync<MyPage>();
Advanced features
Additional features supported by PageReolver:
- Paramaterised navigation - pass page parameters
await Navigation.PushAsync<MyPage>(myPageParam1, "bob", 4);
- Paramaterised navigation - pass ViewModel parameters (.NET 8 version only)
await Navigation.PushAsync<MyPage>(myViewModelParam1, "bob", 4);
- Source generator - automatically register dependencies in
IServiceCollection
with generated code (.NET 8 version only)
using Maui.Plugins.PageResolver;
using DemoProject;
using DemoProject.Pages;
using DemoProject.ViewModels;
using DemoProject.Services;
// ---------------
// <auto-generated>
// Generated by the MauiPageResolver Auto-registration module.
// https://github.com/matt-goldman/Maui.Plugins.PageResolver
// </auto-generated>
// ---------------
namespace DemoProject;
public static class PageResolverExtensions
{
public static MauiAppBuilder UseAutodependencies(this MauiAppBuilder builder)
{
var ViewModelMappings = new Dictionary<Type, Type>();
// pages
builder.Services.AddTransient<MainPage>();
// ViewModels
builder.Services.AddTransient<MainViewModel>();
// Services
builder.Services.AddSingleton<IDefaultScopedService, DefaultScopedService>();
builder.Services.AddTransient<ICustomScopedService, CustomScopedService>();
// ViewModel to Page mappings
ViewModelMappings.Add(typeof(MainPage), typeof(MainViewModel));
// Initialisation
builder.Services.UsePageResolver(ViewModelMappings);
return builder;
}
}
- Lifetime attributes - override convention-based service lifetimes (singleton for services, transient for pages and ViewModels) in the source generator (.NET 8 version only)
[Transient]
public class CustomScopedService : ICustomScopedService
{
[...]
Getting Started
Check out the full instructions in the wiki on using PageResolver
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Goldie.MauiPlugins.PageResolver:
Package | Downloads |
---|---|
Goldie.MauiPlugins.PageResolver.MopupsExtensions
Mopups extensions for PageResolver - push popup pages with resolved dependencies |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Goldie.MauiPlugins.PageResolver:
Repository | Stars |
---|---|
matt-goldman/MauiCleanTodos
Clean Architecture with ASP.NET Core, .NET MAUI and Blazor
|
Version | Downloads | Last Updated |
---|---|---|
2.5.4 | 1,643 | 2/4/2025 |
2.5.3 | 270 | 12/27/2024 |
2.5.2 | 1,584 | 11/4/2024 |
2.5.1 | 811 | 11/2/2024 |
2.5.0 | 341 | 10/18/2024 |
2.0.1 | 4,428 | 11/18/2023 |
2.0.0 | 188 | 11/13/2023 |
2.0.0-preview1 | 117 | 10/13/2023 |
1.1.1 | 4,946 | 1/14/2023 |
1.1.0 | 333 | 1/14/2023 |
1.0.7 | 1,091 | 8/13/2022 |
1.0.6 | 538 | 6/26/2022 |
1.0.5 | 417 | 3/8/2022 |
1.0.5-preview1 | 184 | 3/5/2022 |
1.0.4 | 216 | 2/26/2022 |
1.0.3 | 191 | 2/26/2022 |
1.0.2 | 218 | 2/14/2022 |
1.0.1 | 322 | 10/23/2021 |
1.0.0 | 331 | 6/17/2021 |
1.0.0-build | 199 | 8/13/2022 |