Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 months ago
JSON representation
A clean and lightweight MVVM framework for WPF, UWP and .NET Standard 2.0 inspired by MVVM Light Toolkit.
- Host: GitHub
- URL: https://github.com/yariker/MvvmMicro
- Owner: yariker
- License: mit
- Created: 2019-11-12T03:50:08.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-12T18:45:00.000Z (about 1 year ago)
- Last Synced: 2024-06-30T13:19:37.661Z (4 months ago)
- Topics: csharp, mvvm, uwp, wpf, xamarin-forms, xaml
- Language: C#
- Homepage:
- Size: 230 KB
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-xamarin-forms - MvvmMicro ★7
README
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).