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
<PackageReference Include="Plugin.Maui.MVVMExpress.Core" Version="1.0.0" />
<PackageVersion Include="Plugin.Maui.MVVMExpress.Core" Version="1.0.0" />
<PackageReference Include="Plugin.Maui.MVVMExpress.Core" />
paket add Plugin.Maui.MVVMExpress.Core --version 1.0.0
#r "nuget: Plugin.Maui.MVVMExpress.Core, 1.0.0"
#:package Plugin.Maui.MVVMExpress.Core@1.0.0
#addin nuget:?package=Plugin.Maui.MVVMExpress.Core&version=1.0.0
#tool nuget:?package=Plugin.Maui.MVVMExpress.Core&version=1.0.0
Plugin.Maui.MVVMExpress.Core
UI-framework-free MVVM primitives for .NET. No MAUI reference.
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/PageViewModelwith dispose andViewModelCancellationTokenModelCommand/AsyncModelCommand(prevent, cancel-previous, timeout, retry; weakCanExecuteChanged)AsyncState<T>,Outcome,BusyGate,IMessageHubObservableRangeCollection<T>(AddRange→ one notify)- Abstractions:
INavigator,IDialogs,ICache/ICachedFetcher,IConnectivityProbe,IAuthState,IFeatureSwitch,IPermissionGate FormViewModel,IDirtyState,IOperationExecutor, childAttach
Do not call Page.DisplayAlert or Shell.Current from a ViewModel. Use IDialogs / INavigator.
Related
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 | Versions 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. |
-
net10.0
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
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.