VijayAnand.MauiToolkit
4.2.0
Prefix Reserved
dotnet add package VijayAnand.MauiToolkit --version 4.2.0
NuGet\Install-Package VijayAnand.MauiToolkit -Version 4.2.0
<PackageReference Include="VijayAnand.MauiToolkit" Version="4.2.0" />
<PackageVersion Include="VijayAnand.MauiToolkit" Version="4.2.0" />
<PackageReference Include="VijayAnand.MauiToolkit" />
paket add VijayAnand.MauiToolkit --version 4.2.0
#r "nuget: VijayAnand.MauiToolkit, 4.2.0"
#:package VijayAnand.MauiToolkit@4.2.0
#addin nuget:?package=VijayAnand.MauiToolkit&version=4.2.0
#tool nuget:?package=VijayAnand.MauiToolkit&version=4.2.0
VijayAnand.MauiToolkit
This is a toolkit with a set of helper methods and classes to simplify working with .NET MAUI and Blazor.
Published as a NuGet package - VijayAnand.MauiToolkit
It depends on VijayAnand.MauiToolkit.Core NuGet package.
To start with, implements the concrete definition of the abstractions defined in Core package:
- Dialogs -
DialogService(works with MainPage or Shell definition)- Additional abstraction specific to .NET MAUI with
FlowDirection
- Additional abstraction specific to .NET MAUI with
- Navigation -
NavigationService(based on Shell Navigation pattern) - Share -
ShareService(based on Maui Essentials) - Theme -
ThemeService(based on UserAppTheme property)
And includes a set of Markup extension methods for rapid application development with C#.
These fluent APIs are made available in the VijayAnand.MauiToolkit.Markup namespace.
Most importantly, provides an extension method to register these services in .NET MAUI host builder startup:
UseVijayAnandMauiToolkit()
Now it's possible to selectively register the services required into the DI container.
Added a configuration parameter of Enum type ServiceRegistrations (Flags-attributed) to the UseVijayAnandMauiToolkit() method.
To illustrate with a sample, if only interested in NavigationService:
Then, invoke UseVijayAnandMauiToolkit(ServiceRegistrations.Navigation).
And if DialogService is required along with NavigationService:
Then, invoke UseVijayAnandMauiToolkit(ServiceRegistrations.Dialogs | ServiceRegistrations.Navigation).
By default, the default value of configuration parameter is set to ServiceRegistrations.All.
Usage:
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder.UseMauiApp<App>()
.UseVijayAnandMauiToolkit(); // Implicit value of ServiceRegistrations.All passed as configuration parameter
return builder.Build();
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net9.0-browser was computed. net9.0-ios was computed. net9.0-ios18.0 is compatible. net9.0-maccatalyst was computed. net9.0-maccatalyst18.0 is compatible. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net9.0-windows10.0.19041 is compatible. 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. |
-
net9.0
- Microsoft.Maui.Controls (>= 9.0.50)
- VijayAnand.MauiToolkit.Core (>= 4.2.0)
-
net9.0-android35.0
- Microsoft.Maui.Controls (>= 9.0.50)
- VijayAnand.MauiToolkit.Core (>= 4.2.0)
-
net9.0-ios18.0
- Microsoft.Maui.Controls (>= 9.0.50)
- VijayAnand.MauiToolkit.Core (>= 4.2.0)
-
net9.0-maccatalyst18.0
- Microsoft.Maui.Controls (>= 9.0.50)
- VijayAnand.MauiToolkit.Core (>= 4.2.0)
-
net9.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 9.0.50)
- VijayAnand.MauiToolkit.Core (>= 4.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on VijayAnand.MauiToolkit:
| Package | Downloads |
|---|---|
|
VijayAnand.MauiToolkit.Pro
VijayAnand.MauiToolkit.Pro is a toolkit with a set of helper methods and classes to simplify working with .NET MAUI and Blazor. |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on VijayAnand.MauiToolkit:
| Repository | Stars |
|---|---|
|
egvijayanand/dotnet-maui-samples
Sample apps for working with .NET MAUI
|
|
|
egvijayanand/dotnet-maui-templates
.NET MAUI Project and Item Templates for VS2022, VS2026 Insiders, and CLI.
|
|
|
drakewill-CRL/ROMSorter
Detect and rename ROMs and other games
|
| Version | Downloads | Last Updated |
|---|---|---|
| 4.2.0 | 98 | 10/15/2025 |
| 4.1.0 | 52 | 10/1/2025 |
| 4.0.0 | 39 | 9/26/2025 |
| 3.4.0 | 45 | 10/15/2025 |
| 3.3.0 | 40 | 10/1/2025 |
| 3.2.0 | 43 | 9/26/2025 |
| 3.1.0 | 537 | 11/27/2023 |
| 3.0.0 | 111 | 11/14/2023 |
| 3.0.0-rc.2.2 | 71 | 11/7/2023 |
| 3.0.0-rc.2.1 | 112 | 10/31/2023 |
| 3.0.0-rc.2 | 108 | 10/13/2023 |
| 3.0.0-rc.1 | 88 | 9/18/2023 |
| 3.0.0-preview.7 | 98 | 9/12/2023 |
| 3.0.0-preview.1 | 113 | 4/24/2023 |
| 2.1.3 | 120 | 11/7/2023 |
| 2.1.2 | 95 | 10/31/2023 |
| 2.1.1 | 108 | 10/13/2023 |
| 2.1.0 | 165 | 9/19/2023 |
| 2.1.0-preview.7 | 75 | 9/12/2023 |
| 2.1.0-preview.6 | 78 | 4/24/2023 |
| 2.1.0-preview.5 | 131 | 1/3/2023 |
| 2.1.0-preview.4 | 109 | 1/2/2023 |
| 2.1.0-preview.3 | 95 | 12/30/2022 |
| 2.1.0-preview.2 | 85 | 12/28/2022 |
| 2.1.0-preview.1 | 92 | 12/27/2022 |
| 2.0.1 | 1,654 | 12/14/2022 |
| 2.0.0 | 945 | 11/11/2022 |
| 1.1.0 | 110 | 9/19/2023 |
| 1.1.0-preview.7 | 108 | 9/12/2023 |
| 1.1.0-preview.6 | 84 | 4/24/2023 |
| 1.1.0-preview.5 | 88 | 1/3/2023 |
| 1.1.0-preview.4 | 88 | 1/2/2023 |
| 1.1.0-preview.3 | 118 | 12/30/2022 |
| 1.1.0-preview.2 | 90 | 12/28/2022 |
| 1.1.0-preview.1 | 96 | 12/27/2022 |
| 1.0.3 | 781 | 12/14/2022 |
| 1.0.2 | 726 | 11/11/2022 |
| 1.0.2-pre3 | 520 | 8/4/2022 |
| 1.0.2-pre2 | 766 | 7/15/2022 |
| 1.0.2-pre1 | 538 | 7/4/2022 |
| 1.0.1 | 5,949 | 6/18/2022 |
| 1.0.1-pre1 | 483 | 6/9/2022 |
| 1.0.0 | 1,864 | 5/23/2022 |
| 1.0.0-pre9 | 280 | 4/29/2022 |
| 1.0.0-pre8 | 481 | 4/27/2022 |
| 1.0.0-pre7 | 411 | 4/12/2022 |
| 1.0.0-pre6 | 234 | 4/12/2022 |
| 1.0.0-pre5 | 241 | 4/4/2022 |
| 1.0.0-pre4 | 323 | 3/31/2022 |
| 1.0.0-pre3 | 215 | 3/31/2022 |
| 1.0.0-pre2 | 276 | 3/18/2022 |
| 1.0.0-pre12 | 220 | 5/13/2022 |
| 1.0.0-pre11 | 427 | 5/11/2022 |
| 1.0.0-pre10 | 228 | 5/5/2022 |
| 1.0.0-pre1 | 228 | 3/7/2022 |
Join me on Developer Thoughts, https://egvijayanand.in/, an exclusive blog for .NET MAUI and Blazor.
What's new in ver. 4.2.0:
-------------------------
1. Key-based service registration for generic method overloads within the integrated app hosting builder method.
This doesn't apply to the factory delegates since it's not supported.
The Application type (TApp) is an exception because it is passed to the Framework method.
2. The Window Title will update to match the Page Title when it is empty.
At present, .NET MAUI updates the Window Title only when the start page is Shell; otherwise, it remains blank unless set manually.
3. The app hosting builder method now accepts a page factory parameter, allowing it to be managed independently.
builder.UseMauiApp<App, Window, Page>(_ => new NavigationPage(new MainPage()));
v4.1.0:
The integrated app hosting builder method has been enhanced to support Application, Window, and Page in a single generic method call.
The prebuilt Window type can be used as it is. No need for a factory delegate for simple scenarios.
While using generic overloads, there's no need to register the types in the DI container.
var builder = MauiApp.CreateBuilder();
builder.UseMauiApp<App, Window, MainPage>();
// To use Shell as the initial page.
//builder.UseMauiApp<App, Window, AppShell>();
// Other configuration
return builder.Build();
Other overloads continue to work too.
v4.0.0:
Release built on top of .NET MAUI 9.
MauiAppBuilder extension methods provide an easy way to host both Application and Window with just a single method call.
A single place to handle all configuration-related tasks.
The Application type will simply act as a container for global resources and handle startup and shutdown events.
// To use the Window type as it is.
var builder = MauiApp.CreateBuilder();
builder.UseMauiApp<App, Window>(sp => new Window(new MainPage()) { Title = "MyApp" });
// Rest of the configuration ...
return builder.Build();
For customization, extend the Window type and link it here.
builder.UseMauiApp<App, MainWindow>();