MoleculeSoftware.Packages.CovalentMVVM.Core 1.0.1

dotnet add package MoleculeSoftware.Packages.CovalentMVVM.Core --version 1.0.1
NuGet\Install-Package MoleculeSoftware.Packages.CovalentMVVM.Core -Version 1.0.1
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="MoleculeSoftware.Packages.CovalentMVVM.Core" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MoleculeSoftware.Packages.CovalentMVVM.Core --version 1.0.1
#r "nuget: MoleculeSoftware.Packages.CovalentMVVM.Core, 1.0.1"
#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.
// Install MoleculeSoftware.Packages.CovalentMVVM.Core as a Cake Addin
#addin nuget:?package=MoleculeSoftware.Packages.CovalentMVVM.Core&version=1.0.1

// Install MoleculeSoftware.Packages.CovalentMVVM.Core as a Cake Tool
#tool nuget:?package=MoleculeSoftware.Packages.CovalentMVVM.Core&version=1.0.1

Covalent MVVM for .NET Core 3.1+


Covalent MVVM is a collection of base components used by all WPF MVVM applications developed by Molecule Software. The initial version contains the following

  • BaseViewmodel which inherits INotifyPropertyChanged and utilizes the power of PropertyChanged.Fody to reduce or totally eliminate the need to call OnPropertyChanged(). All ViewModels should inherit from this BaseViewmodel. Note, you will need to add PropertyChanged.Fody to your core project.
  • RelayCommand which inherits ICommand. This command accepts a lambda and a "can execute" and can be bound to WPF UI components for execution of that lambda.
  • ParameterRelayCommand allows the UI component to pass itself or another value as a parameter, handy for passing SecureString objects or any other value that cannot be directly bound by the UI. Note that base interfaces (especially those for managing passwords) are not part of this library at this time. I will be adding those interfaces in a future update once they are crafted to be as compatible across as many projects as possible.

NOTE: In order to use the features of PropertyChanged.Fody, you will need to install the nuget package into your core project. This is required because Fody must generate a FodyWeavers.XML file in your assembly.

NOTE: PropertyChanged.Fody will not notify the UI of changes to properties within a collection. If you modify a collection, call OnPropertyChanged(-name-of-property-) in order to manually fire the PropertyChanged event. Example: OnPropertyChanged(nameof(SomeProperty)); Always use "nameof" because it will prevent issues caused by property name changes.

While this package is designed specifically for Molecule Software, it should provide any WPF MVVM developer with a quick implementation of these critical base components which are required across a myriad of projects. Please check for updates and enhancements as I identify any additional functionality that may be helpful to developers. Also, please feel free to provide suggestions for future enhancements. I would like to make this package a go-to for as many developers as possible.

Special thanks goes to Simon Kropp for producing PropertyChanged.Fody. It's a life saver!

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.1 876 10/24/2020

Initial commit