Skip to content
kobi2294 edited this page May 5, 2019 · 13 revisions

MvvmKit Framework and Toolkit

Preface

MvvmKit is a strongly opinionated MVVM Framework and toolkit that helps to build advanced WPF applications. The framework is based on the following principles:

  • View Model First MVVM
  • Unidirectional Binding from the view model to the view
  • Design time data and "Blendability"
  • "Lazy" loading of hidden view models
  • Task Based Asynchronous model services
  • Region Based Navigation
  • IoC and Dependency Injection using Unity

Additional Packages

The framework relies on several utility packages. It also provides some of them to the developer:

  • Disposables Package: A package that provides classes that help create IDisposable implementations for various use cases
  • Weak Package: A package the contains several weak delegate classes. A weak delegate is a delegate that uses WeakReference to point to the target object, so the target may be garbage collected. This helps to avoid common memory leaks causes by using delegates
  • Indexers Package: A package that contains classes that make it easy to create indexed properties
  • Data Structures Package: A package that contains several high level data structures
  • Async Package: A package that provides enhacments to TPL mostly oriented around the ability to create asynchronous services for MVVM
  • IoC Package: A package that provides wrappers and helpers for using unity as IoC container
  • Mvvm Framework: The main purpose of this kit, the mvvm base classes and utilities that allow to create responsive and well designed WPF Applications.