equadrat.Framework.Mvvm.Wpf
6.4.0
Prefix Reserved
See the version list below for details.
dotnet add package equadrat.Framework.Mvvm.Wpf --version 6.4.0
NuGet\Install-Package equadrat.Framework.Mvvm.Wpf -Version 6.4.0
<PackageReference Include="equadrat.Framework.Mvvm.Wpf" Version="6.4.0" />
paket add equadrat.Framework.Mvvm.Wpf --version 6.4.0
#r "nuget: equadrat.Framework.Mvvm.Wpf, 6.4.0"
// Install equadrat.Framework.Mvvm.Wpf as a Cake Addin #addin nuget:?package=equadrat.Framework.Mvvm.Wpf&version=6.4.0 // Install equadrat.Framework.Mvvm.Wpf as a Cake Tool #tool nuget:?package=equadrat.Framework.Mvvm.Wpf&version=6.4.0
equadrat Framework Mvvm
The idea of the equadrat Framework is to provide APIs to build applications with an architecture of highly decoupled components. Every single component, aspect or pattern is represented by interfaces. The framework provides a standard implementation for these but each type can be replaced by a custom implementation.
The framework is not about reimplementing components, but making them available using common interfaces.
Getting started
You can use most of the components by simply instantiating them. This is maybe the easiest way to evaluate the framework.
If you're using an IOC/DI container such as Microsoft Extensions DependencyInjection or if you want to use the built-in IOC framework, you can use the bootstrapper and bootstrapper modules to register the framework to the IOC.
Usage
The only requirement for view models is to implement INotifyPropertyChanged.
Have a look at the example applications on my website: www.equadrat.net
Interesting components
This is a list of some (not all) components of the framework which might be interesting for you.
MVVM data container & helper
- IMvvmDataContainerFactory
- MvvmHelper
MVVM shell
- IMvvmShellService
MVVM views
- IMvvmView
- IMvvmViewFactory
- IMvvmViewRegistry
MVVM view models
- MvvmViewModel (optional to use)
- Base implementation for view models
- Event implementation
- Creates a data container.
MVVM behaviors
- MvvmViewModelPresenterBehavior
- Creates the view for the assigned view model (context) of the current control.
- MvvmViewModelProviderBehavior
- Creates a view model and binds it to the control (context).
- MvvmViewModelVisibilityBehavior
- Synchronizes the view model "visibility" with the visibility of the current control.
Platforms
The MVVM implementation itself is platform agnostic, but there are supporting integrations for some major client GUI frameworks.
Compatibility
The plan is to keep the equadrat Framework compatible to these .net versions as long as possible.
.net version | min | max |
---|---|---|
Core | 3.1 | ≥ 8.x |
Standard | 2.0 | ≥ 2.1 |
Framework | 4.6.2 | ≥ 4.8.x |
Version scheme and breaking changes
Version change | Scope |
---|---|
Major | Overhaul of the project |
Minor | Some types have changed |
Revision | Fully backward compatible |
Build | Set in preview versions only |
Additional documentation
You can find some guides regarding specific features on my website: www.equadrat.net
Feedback
You can contact me on my website: www.equadrat.net
License
Please respect the license and check equadrat.Framework.Mvvm.License.md before using the package.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net5.0-windows7.0 is compatible. 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. net6.0-windows7.0 is compatible. 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. net7.0-windows7.0 is compatible. 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. net8.0-windows7.0 is compatible. |
.NET Core | netcoreapp3.1 is compatible. |
.NET Framework | net462 is compatible. net463 was computed. net47 is compatible. net471 is compatible. net472 is compatible. net48 is compatible. net481 was computed. |
-
.NETCoreApp 3.1
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (= 1.1.39)
-
.NETFramework 4.6.2
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
-
.NETFramework 4.7
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
-
.NETFramework 4.7.1
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
-
.NETFramework 4.7.2
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
-
.NETFramework 4.8
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
-
net5.0-windows7.0
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (= 1.1.39)
-
net6.0-windows7.0
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
-
net7.0-windows7.0
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
-
net8.0-windows7.0
- equadrat.Framework.Core (>= 6.4.0)
- equadrat.Framework.Core.Interfaces (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf (>= 6.4.0)
- equadrat.Framework.Core.UI.Wpf.Behaviors (>= 6.4.0)
- equadrat.Framework.Mvvm (>= 6.4.0)
- equadrat.Framework.Mvvm.Interfaces (>= 6.4.0)
- Microsoft.Xaml.Behaviors.Wpf (>= 1.1.77)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on equadrat.Framework.Mvvm.Wpf:
Package | Downloads |
---|---|
equadrat.Framework.Mvvm.SinglePageView.Wpf
A framework to extend the Microsoft .net framework with extra mvvm functionality. |
GitHub repositories
This package is not used by any popular GitHub repositories.
====
v6.4.0
====
- Internal refacorings to use MaybeNullWhenAttribute when applicable.
====
v6.3.3
====
- Added .net 8 support.
====
v6.3.0
====
- Compatibility release.
====
v6.2.0
====
- Compatibility release.
====
v6.1.0
====
- Compatibility release.
====
v6.0.8
====
- Compatibility release.
- Upgraded Avalonia UI NuGet package references to v11.x.
====
v6.0.7
====
- Enabled IL trimming.
- Added README.md file to the NuGet package.
====
v6.0.3
====
- Compatibility release.
====
v6.0.2
====
- Internal release.
====
v6.0.1
====
- Renamed MvvmFrameworkBootstrapperModulesSelector to MvvmFrameworkBootstrapperModuleSelector.
====
v6.0.0
====
- Initial Release