SingleScope.Mvvm 1.0.0

dotnet add package SingleScope.Mvvm --version 1.0.0
                    
NuGet\Install-Package SingleScope.Mvvm -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SingleScope.Mvvm" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SingleScope.Mvvm" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SingleScope.Mvvm" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SingleScope.Mvvm --version 1.0.0
                    
#r "nuget: SingleScope.Mvvm, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SingleScope.Mvvm@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SingleScope.Mvvm&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SingleScope.Mvvm&version=1.0.0
                    
Install as a Cake Tool

SingleScope.Mvvm

NuGet Version NuGet Downloads License GitHub Issues GitHub Stars GitHub Forks Contributions Welcome

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:

  1. Check the GitHub Issues to see if your issue or idea has already been reported.
  2. If not, open a new issue to describe the bug or feature request.
  3. 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 main branch of the original repository.
  4. 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

@muhirwanto-dev

Project link: https://github.com/muhirwanto-dev/singlescope-plugins/tree/main/source/SingleScope.Mvvm

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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