SingleScope.Mvvm
1.0.0
dotnet add package SingleScope.Mvvm --version 1.0.0
NuGet\Install-Package SingleScope.Mvvm -Version 1.0.0
<PackageReference Include="SingleScope.Mvvm" Version="1.0.0" />
<PackageVersion Include="SingleScope.Mvvm" Version="1.0.0" />
<PackageReference Include="SingleScope.Mvvm" />
paket add SingleScope.Mvvm --version 1.0.0
#r "nuget: SingleScope.Mvvm, 1.0.0"
#:package SingleScope.Mvvm@1.0.0
#addin nuget:?package=SingleScope.Mvvm&version=1.0.0
#tool nuget:?package=SingleScope.Mvvm&version=1.0.0
SingleScope.Mvvm
Overview
A lightweight, modern MVVM foundation built on top of CommunityToolkit.Mvvm. It focuses on architecture and structure, not reimplementing MVVM mechanics.
🎯 Design Goals
- Extend CommunityToolkit.Mvvm (do not replace it)
- MVVM-pure (no UI references)
- XAML command-based lifecycle
- Explicit View ↔ ViewModel ownership
- Optional messaging participation
🧱 Core Concepts
ViewModelBase
Base class for all ViewModels, inherits ObservableObject.
InteractiveViewModelBase
Designed to be bound from XAML.
RecipientViewModelBase
Opt-in base class for ViewModels that participate in messaging.
🧩 Ownership
Views may declare ownership via:
IViewModelOwner<TViewModel>
And optionally decorate with:
[ViewModelOwner(typeof(MyViewModel))]
🧠 Messaging
Messaging is not implemented here.
IMessageRecipient is a marker only and works alongside
CommunityToolkit.Mvvm.Messaging.
Contributions
Contributions are welcome! If you encounter a bug, have a suggestion, or want to contribute code, please follow these steps:
- Check the GitHub Issues to see if your issue or idea has already been reported.
- If not, open a new issue to describe the bug or feature request.
- For code contributions:
- Fork the Project repository.
- Create your Feature Branch (
git checkout -b feature/YourAmazingFeature). - Commit your Changes (
git commit -m 'Add YourAmazingFeature'). Adhere to conventional commit messages if possible. - Push to the Branch (
git push origin feature/YourAmazingFeature). - Open a Pull Request against the
mainbranch of the original repository.
- Please try to follow the existing coding style and include unit tests for new or modified functionality.
License
Distributed under the MIT License. See the LICENSE file in the repository for more information.
Contact
Project link: https://github.com/muhirwanto-dev/singlescope-plugins/tree/main/source/SingleScope.Mvvm
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- CommunityToolkit.Mvvm (>= 8.4.0)
- SingleScope.Common (>= 4.1.0)
-
net9.0
- CommunityToolkit.Mvvm (>= 8.4.0)
- SingleScope.Common (>= 4.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SingleScope.Mvvm:
| Package | Downloads |
|---|---|
|
SingleScope.Mvvm.Maui
A lightweight, modern MVVM foundation built on top of CommunityToolkit.Mvvm. It focuses on architecture and structure, not reimplementing MVVM mechanics. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 147 | 1/5/2026 |