Install-Package ATZ.MVVM -Version
dotnet add package ATZ.MVVM --version
<PackageReference Include="ATZ.MVVM" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ATZ.MVVM --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ATZ.MVVM,"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install ATZ.MVVM as a Cake Addin
#addin nuget:?package=ATZ.MVVM&version=

// Install ATZ.MVVM as a Cake Tool
#tool nuget:?package=ATZ.MVVM&version=
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Base library for MVVM architecture.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on ATZ.MVVM:

Package Downloads

Control library built on the top of ATZ.MVVM


Control library built on the top of ATZ.MVVM

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 739 10/6/2017 657 10/5/2017 679 7/2/2017 698 7/1/2017 673 7/1/2017 687 7/1/2017 674 7/1/2017 798 12/31/2016 745 12/18/2016 849 11/19/2016 700 11/12/2016 713 11/11/2016 718 11/9/2016 791 11/9/2016 798 11/4/2016

- Changing the SetViewModel<TViewModel>(IView<TViewModel>, TViewModel) extension method to SetViewModel<TModel>(IView<IViewModel<TModel>>, IViewModel<TModel>). This change is required to support the implementation of the feature automatically call UnbindModel and BindModel methods on the view if the view model changes its model object.
- Changing the Model was not firing PropertyChanged event from BaseViewModel, which was a bug as it is implementing the INotifyPropertyChanged interface through deriving from ObservableObject.

- During migration to PCL the definition of the JETBRAINS_ANNOTATIONS symbol for the compilation was lost. Re-added.
- Fixing documentation in XML.
- Added NotNull to IView.BindModel. The function was not called previously either with null parameter from inside the library, so this is not an API change.
- Still fixing packaging problems.

- Fixing required package versions.
- Removing the code that has been extracted into ATZ.CollectionObservers and ATZ.Observable collections.
- Changed project types to PCL.
- Changed UIElementCollection into IList in CollectionViewToViewModelConnector, so that ItemCollection can also be used as ViewCollection.
- Supporting .NET 4.5 target framework.
- Added classes MvmTuple and MvvmTuple to register Model-ViewModel and Model-View-ViewModel
 type combinations respectively.
- Added CollectionViewModelToModelConnector.Add(IView<TModel>).
- Corrected assembly information that was either missing or otherwise incorrect (or in the case of my name,
 could cause some problems on some systems for somebody).
- Support for multiple class hierarchies through interfaces. The hierarchy of the Models now can be mirrored
 by the ViewModels and the Views without having problem with the single inheritance restriction of the
- Further relaxing the requirements of the TView for CollectionViewToViewModelConnector, because specifying
 UIElement did not allow to use IView<TViewModel> as TView. The fact that it should be a UIElement
 was not used in the implementation of the class.
- Relaxing requirement of the View in CollectionViewToViewModelConnector to be required to have new().
 This allows the usage of IView<TViewModel> as TView in case we don't want to specify it more exactly.
 Of course in this case when the actual type cannot be resolved throw the DependencyResolver, it will fail
 when have no new(), but the alternative in these failing resolution cases could be only to return null,
 which has a risk of NullReferenceException. The previous safety action, which was to create a new TView
 in case of failing resolution is still working when the type is exactly specified and has parameterless
- Initial NuGet Packaging.