Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yariker/MvvmMicro

A clean and lightweight MVVM framework for WPF, UWP and .NET Standard 2.0 inspired by MVVM Light Toolkit.
https://github.com/yariker/MvvmMicro

csharp mvvm uwp wpf xamarin-forms xaml

Last synced: about 2 months ago
JSON representation

A clean and lightweight MVVM framework for WPF, UWP and .NET Standard 2.0 inspired by MVVM Light Toolkit.

Awesome Lists containing this project

README

        

# logo MvvmMicro
Nuget

A lightweight MVVM framework for .NET inspired by [MVVM Light Toolkit](https://github.com/lbugnion/mvvmlight).

## 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.6.2 & .NET 6.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](https://www.nuget.org/packages/MvvmMicro) package to your project:
```
Install-Package MvvmMicro
```

## Overview

| Type | Description |
| ----- | ----------- |
| `ObservableObject` | The base class for objects that support property change notification. |
| `ViewModelBase` | The base class for view models with the `Messenger` and `IsInDesignMode` properties. |
| `Messenger` | A service for sending and receiving messages, typically between view models and views. |
| `RelayCommand`,
`RelayCommand` | An `ICommand` implementation based on a synchronous delegate for `Execute` and `CanExecute`. |
| `AsyncRelayCommand`,
`AsyncRelayCommand` | An `ICommand` implementation based on an asynchronous delegate for `Execute` with cancellation support. |

Also check out the [class diagram](src/MvvmMicro/Diagrams/ClassDiagram.png).

## License

Code licensed under the [MIT License](LICENSE).