Plugin.Maui.MVVMExpress.Core 0.6.1-preview

This is a prerelease version of Plugin.Maui.MVVMExpress.Core.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Plugin.Maui.MVVMExpress.Core --version 0.6.1-preview
                    
NuGet\Install-Package Plugin.Maui.MVVMExpress.Core -Version 0.6.1-preview
                    
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="Plugin.Maui.MVVMExpress.Core" Version="0.6.1-preview" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Plugin.Maui.MVVMExpress.Core" Version="0.6.1-preview" />
                    
Directory.Packages.props
<PackageReference Include="Plugin.Maui.MVVMExpress.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Plugin.Maui.MVVMExpress.Core --version 0.6.1-preview
                    
#r "nuget: Plugin.Maui.MVVMExpress.Core, 0.6.1-preview"
                    
#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.
#:package Plugin.Maui.MVVMExpress.Core@0.6.1-preview
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Plugin.Maui.MVVMExpress.Core&version=0.6.1-preview&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Plugin.Maui.MVVMExpress.Core&version=0.6.1-preview&prerelease
                    
Install as a Cake Tool

Plugin.Maui.MVVMExpress.Core

UI-framework-free MVVM primitives for .NET. No MAUI reference.

NuGet

ObservableModel, ViewModel lifecycle, async commands, AsyncState<T>, Outcome, messaging, INavigator, ICache, and IAuthState.

public sealed class HomeViewModel : ViewModel
{
    public AsyncState<IReadOnlyList<Product>> Products { get; } = new();
    public AsyncModelCommand RefreshCommand { get; }

    public HomeViewModel(ICatalog catalog)
    {
        RefreshCommand = new AsyncModelCommand(
            ct => Products.LoadAsync(token => catalog.ListAsync(token), ct));
    }
}

Install

dotnet add package Plugin.Maui.MVVMExpress.Core --prerelease

Target framework: net10.0. Version 0.6.1-preview — UI-thread-safe navigator helpers, SectionHostViewModel, FormViewModel.Bind, snapshot lists. Shipped APIs are the 1.0 contract; 1.0.0 waits on design-review sign-off.

services.AddMvvmExpress(); // tests and shared libraries

MAUI apps also add Plugin.Maui.MVVMExpress and call UseMvvmExpress().

What this package is

  • ViewModel / PageViewModel with dispose and ViewModelCancellationToken
  • ModelCommand / AsyncModelCommand (prevent, cancel-previous, timeout, retry; weak CanExecuteChanged)
  • AsyncState<T>, Outcome, BusyGate, IMessageHub
  • ObservableRangeCollection<T> (AddRange → one notify)
  • Abstractions: INavigator, IDialogs, ICache / ICachedFetcher, IConnectivityProbe, IAuthState, IFeatureSwitch, IPermissionGate
  • FormViewModel, IDirtyState, IOperationExecutor, child Attach

Do not call Page.DisplayAlert or Shell.Current from a ViewModel. Use IDialogs / INavigator.

Product docs: repository README. Changelog: CHANGELOG.md.

Prefer CommunityToolkit.Mvvm for properties and commands only. Production adapters: SecureSession, ApiCache, NetworkMonitor (Niladri Padhy / MauiEssentials).

License: MIT.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Plugin.Maui.MVVMExpress.Core:

Package Downloads
Plugin.Maui.MVVMExpress

MAUI host for MVVMExpress on Android, iOS, Mac Catalyst, and Windows: UseMvvmExpress, main-thread dispatcher, and page lifecycle behavior. Depends on Plugin.Maui.MVVMExpress.Core.

Plugin.Maui.MVVMExpress.Validation

IValidator and DataAnnotationsValidator for MVVMExpress. FluentValidation remains an optional app-level adapter.

Plugin.Maui.MVVMExpress.Testing

LeakProbe, ScaleProfile, FakeDialogs, FakeNavigator, FakeMainThread, FakeConnectivity, FakeMessageHub, ViewModelLifecycle, and ScopedNavigator for unit-testing MVVMExpress ViewModels.

Plugin.Maui.MVVMExpress.Pagination

PagedCollection, DelegatePagedCollection, refresh, and SearchQuery debounce for MVVMExpress lists.

Plugin.Maui.MVVMExpress.Reactive

Optional derived-state and property observables for MVVMExpress. System.Reactive is not required by Core.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 48 9/6/2026
1.0.0 78 9/2/2026
0.6.1-preview 68 9/1/2026
0.6.0-preview 75 9/1/2026
0.5.0-preview 79 9/1/2026
0.4.0-preview 67 9/1/2026
0.3.0-preview 68 9/1/2026
0.1.1-preview 75 8/31/2026
0.1.0-preview 78 8/31/2026

0.6.1-preview: UI-thread-safe navigator, UseNavigationPage + replace-root. ResetAsync now replaces window.Page with a NavigationPage (no longer PopToRoot+Push). SectionHostViewModel, SnapshotCollection, SearchQuery.CommittedText, FormViewModel.Bind.