MvvmMicro

April 20, 2025 · View on GitHub

Nuget

A lightweight MVVM framework for .NET inspired by MVVM Light Toolkit.

Goals

  • No third party dependencies, such as CommonServiceLocator or System.Windows.Interactivity.
  • No feature kreep – only core MVVM types and services are included, such as RelayCommand, AsyncRelayCommand, ObservableObject, and a simple IMessenger.

Supported platforms

  • .NET Framework 4.7.2 & .NET 8.0 (WPF)
  • .NET Standard 2.0 (Xamarin.Forms, Avalonia, MAUI, etc.)
  • Universal Windows Platform (UWP)

Installation

The primary way to use MvvmMicro is by adding the nuget package to your project:

Install-Package MvvmMicro

Overview

TypeDescription
ObservableObjectThe base class for objects that support property change notification.
ViewModelBaseThe base class for view models with the Messenger and IsInDesignMode properties.
MessengerA service for sending and receiving messages, typically between view models and views.
RelayCommand,
RelayCommand<T>
An ICommand implementation based on a synchronous delegate for Execute and CanExecute.
AsyncRelayCommand,
AsyncRelayCommand<T>
An ICommand implementation based on an asynchronous delegate for Execute with cancellation support.

Also check out the class diagram and the sample project.

License

Code licensed under the MIT License.