VijayAnand.MauiToolkit 1.1.0-preview.2

Prefix Reserved
This is a prerelease version of VijayAnand.MauiToolkit.
This package has a SemVer 2.0.0 package version: 1.1.0-preview.2+sha.a87ab4b.
There is a newer version of this package available.
See the version list below for details.
dotnet add package VijayAnand.MauiToolkit --version 1.1.0-preview.2                
NuGet\Install-Package VijayAnand.MauiToolkit -Version 1.1.0-preview.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VijayAnand.MauiToolkit" Version="1.1.0-preview.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add VijayAnand.MauiToolkit --version 1.1.0-preview.2                
#r "nuget: VijayAnand.MauiToolkit, 1.1.0-preview.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install VijayAnand.MauiToolkit as a Cake Addin
#addin nuget:?package=VijayAnand.MauiToolkit&version=1.1.0-preview.2&prerelease

// Install VijayAnand.MauiToolkit as a Cake Tool
#tool nuget:?package=VijayAnand.MauiToolkit&version=1.1.0-preview.2&prerelease                

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
  • 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 Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-android31.0 is compatible.  net6.0-ios was computed.  net6.0-ios16.1 is compatible.  net6.0-maccatalyst was computed.  net6.0-maccatalyst16.1 is compatible.  net6.0-macos was computed.  net6.0-tizen7.0 is compatible.  net6.0-tvos was computed.  net6.0-windows was computed.  net6.0-windows10.0.19041 is compatible.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
.NET MAUI Samples
egvijayanand/dotnet-maui-templates
.NET MAUI Project and Item Templates for VS2022 and CLI.
drakewill-CRL/ROMSorter
Detect and rename ROMs and other games
Version Downloads Last updated
3.1.0 387 11/27/2023
3.0.0 88 11/14/2023
3.0.0-rc.2.2 58 11/7/2023
3.0.0-rc.2.1 69 10/31/2023
3.0.0-rc.2 67 10/13/2023
3.0.0-rc.1 74 9/18/2023
3.0.0-preview.7 64 9/12/2023
3.0.0-preview.1 100 4/24/2023
2.1.3 70 11/7/2023
2.1.2 75 10/31/2023
2.1.1 89 10/13/2023
2.1.0 140 9/19/2023
2.1.0-preview.7 64 9/12/2023
2.1.0-preview.6 65 4/24/2023
2.1.0-preview.5 107 1/3/2023
2.1.0-preview.4 96 1/2/2023
2.1.0-preview.3 78 12/30/2022
2.1.0-preview.2 72 12/28/2022
2.1.0-preview.1 75 12/27/2022
2.0.1 1,509 12/14/2022
2.0.0 809 11/11/2022
1.1.0 77 9/19/2023
1.1.0-preview.7 65 9/12/2023
1.1.0-preview.6 69 4/24/2023
1.1.0-preview.5 75 1/3/2023
1.1.0-preview.4 73 1/2/2023
1.1.0-preview.3 77 12/30/2022
1.1.0-preview.2 79 12/28/2022
1.1.0-preview.1 82 12/27/2022
1.0.3 662 12/14/2022
1.0.2 594 11/11/2022
1.0.2-pre3 413 8/4/2022
1.0.2-pre2 658 7/15/2022
1.0.2-pre1 396 7/4/2022
1.0.1 5,817 6/18/2022
1.0.1-pre1 384 6/9/2022
1.0.0 1,681 5/23/2022
1.0.0-pre9 185 4/29/2022
1.0.0-pre8 362 4/27/2022
1.0.0-pre7 318 4/12/2022
1.0.0-pre6 133 4/12/2022
1.0.0-pre5 124 4/4/2022
1.0.0-pre4 207 3/31/2022
1.0.0-pre3 124 3/31/2022
1.0.0-pre2 151 3/18/2022
1.0.0-pre12 128 5/13/2022
1.0.0-pre11 317 5/11/2022
1.0.0-pre10 113 5/5/2022
1.0.0-pre1 132 3/7/2022

What's new in ver. 1.1.0-preview.2:
-----------------------------------
The toolkit updated to a newer revision.

v1.1.0-preview.1:

1. ServiceRegistrations enum type is now moved to Core package.

2. Defined the MauiPage class, a base page to inherit while defining other pages, to easily work with .NET MAUI.

v1.0.3:

This version of package is released on top of .NET MAUI on .NET 6 SR8 (6.0.548) version.

v1.0.2:

Package supports .NET MAUI on .NET 6 and is built on top of .NET 6 SR7 (6.0.547).

DisplayActionSheetAsync method in DialogService class now takes message and defaultButton as additional parameters in accordance with updated interface definition.

Added a new Markup Method, named AddSubMenuGroup, to define a sub-menu group within a menu group to manage the multi-level menu.

Here is an example of a sub-menu group:

"Change Location" is a first level menu group (under the "Locations" top level menu item) and "India" is a second level menu group within that.

This way multi-level menu can be defined.

MenuBarItems.Add(new MenuBarItem().Title("Locations")
                                 .AddMenuGroup(new MenuFlyoutSubItem().Title("Change Location")
                                                                      .AddSubMenuItem(new MenuFlyoutItem().Title("New York, USA"))
                                                                      .AddSubMenuItem(new MenuFlyoutItem().Title("London, UK"))
                                                                      .AddSubMenuItem(new MenuFlyoutItem().Title("Cape Town, RSA"))
                                                                      .AddSubMenuItem(new MenuFlyoutItem().Title("Beijing, PRC"))
                                                                      .AddSubMenuGroup(new MenuFlyoutSubItem().Title("India")
                                                                                                              .AddSubMenuItem(new MenuFlyoutItem().Title("Chennai, TN"))
                                                                                                              .AddSubMenuItem(new MenuFlyoutItem().Title("Kolkata, WB"))
                                                                                                              .AddSubMenuItem(new MenuFlyoutItem().Title("Mumbai, MH"))
                                                                                                              .AddSubMenuItem(new MenuFlyoutItem().Title("New Delhi, NCR"))))
                                 .AddMenuItem(new MenuFlyoutItem().Title("Add a Location").BindCommand("AddLocationCommand")));

Join me on Developer Thoughts, https://egvijayanand.in/, an exclusive blog for .NET MAUI and Blazor.