Plugin.Maui.MVVMExpress.Core 1.0.0

dotnet add package Plugin.Maui.MVVMExpress.Core --version 1.0.0
                    
NuGet\Install-Package Plugin.Maui.MVVMExpress.Core -Version 1.0.0
                    
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="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Plugin.Maui.MVVMExpress.Core" Version="1.0.0" />
                    
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 1.0.0
                    
#r "nuget: Plugin.Maui.MVVMExpress.Core, 1.0.0"
                    
#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@1.0.0
                    
#: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=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Plugin.Maui.MVVMExpress.Core&version=1.0.0
                    
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

Target framework: net10.0. Version 1.0.0 — SemVer lock, UseAuth<TChallenge>(), UI-thread-safe navigator helpers, SectionHostViewModel, FormViewModel.Bind, snapshot lists.

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 and iOS: 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.0 67 9/2/2026
0.6.1-preview 64 9/1/2026
0.6.0-preview 71 9/1/2026
0.5.0-preview 73 9/1/2026
0.4.0-preview 67 9/1/2026
0.3.0-preview 66 9/1/2026
0.1.1-preview 72 8/31/2026
0.1.0-preview 75 8/31/2026

1.0.0: SemVer lock. UseAuth(TChallenge) on UseMvvmExpress. 15-minute getting started, cheat sheet, cookbook, Playground.