Project Description
The MVVM Helper + Behavior library is a set of classes for WPF developers to help them build Model-View-ViewModel oriented applications. It includes some useful WPF classes, a base framework for MVVM and a bunch of Blend behaviors, triggers and actions.

There are several examples available at http://www.julmar.com/blog/mark where I've been blogging on how to use this library. I'll push some of that information up here as well.

You can install MVVMHelpers through NuGet http://www.nuget.org - just search for MVVMHelpers, it will add the latest version into your project automatically from within Visual Studio if you install the NuGet plug-in.

Alternatively, you can type the following into the Package Manager console to add it to your project:

PM> Install-Package MVVMHelpers

or

PM> Install-Package Install-Package MVVMHelpers.Metro

for the Windows 8 Metro version.

1.08 5/2013
  1. Added SynchronizedCollectionBehavior (ported from WPF version) (see http://julmar.com/blog/mark/?p=274)
  2. Added new AutoSerializingPageNavigator (see http://julmar.com/blog/mark/?p=265)
  3. Added support to replace Imports using ServiceLocator
  4. Fix for EventCommander - it was broken during refactoring.

1.07 3/2013
  1. Fixes to reattach event handlers from EventTrigger when UIElement is unloaded/loaded multiple times.

1.06 3/2013
  1. Fixes for PageNavigator/StateManager
  2. Expose KnownTypes on IStateManager
  3. Allow persistence even when objects do not participate in INavigateAware
  4. Refactored code to share persistence on suspend + navigation.

1.05 3/2013
  1. Minor bug fixes
  2. Added Flyout control and IFlyoutVisualizer
  3. Integrated StateManager into PageNavigator and abstracted with IStateManager
  4. Added support to locate ViewModels through attached property (still supports dictionary)
  5. Added support to provide custom serialization on a ViewModel by implementing
  6. IViewModelStateManagement

1.04 9/2012
  1. Modified ViewModelTrigger to support Action and Action<T>
  2. Added static Designer class to port WPF code
  3. IViewModelLocator moved to JulMar.Windows.Interfaces (instead of Core)
  4. Added InDesignMode property to SimpleViewModel
  5. Removed dead code from ViewModelLocator
  6. Fixed MessageMediator to properly return true/false when targets have been collected
  7. Changed MessageMediator back to public type so it can be used multiple times
  8. Changed ServiceProvider implementation class from public to internal.
  9. Moved MessageVisualizerOptions to JulMar.Windows.UI (was in interfaces)
  10. Updated some unit tests

1.03 for Windows 8 RTM
  1. Fixed a bug in the ViewModelLocator when back-navigation occurs
  2. Removed the public ViewModelLocator breaking change. Use IViewModelLocator interface instead
  3. Added ViewModelLocatorResource for binding in XAML
  4. Added ServiceLocatorResource for binding services in XAML
  5. Added unit tests and new test program

1.02 for Windows 8 RTM
  1. Added NameScopeBinding to allow ElementName binding to attached collection items
  2. Changed InvokeAction to pass trigger parameter if CommandParameter is null.

1.01 for Windows 8 RTM
  1. Ported ViewModelLocator and most of MVVMHelpers 4.10
  2. Ported Blend behavior support

4.10 6/15/2012
  1. Refactored some of the services to be more inline with the internal metro/Win8 version.
  2. Merged .NET 3.5/4.0 set together

4.09 3/2012
  1. Added check in SynchronizedScrollingBehavior to disable scrolling if scrollbar is disabled.
  2. Added ability to turn off drag adorner for ItemsControlDragDropBehavior
  3. Added ServiceReplacement test project + unit tests from blog
  4. Fixes for EditingViewModel, also extended with more interception hooks.

4.08 2/2012
  1. Modified DeferredBinder to support 2-way bindings
  2. Added back in support for multiple ExportUIVisualizer and ExportViewModel attributes
  3. Removed IDynamicResolver interface, renamed MefComposer to DynamicComposer. You should just use DynamicComposer.Instance as the library is now too dependent on MEF to really change the composition model.
  4. Added ListViewColumnAutoSizeBehavior to provide Grid-like column sizing (Auto,*,##)
  5. Modified ListViewSortBehavior to correct crash when adorner layer is not present.
  6. Fixed bug in ValidationManager when traversing properties and potentially getting into infinite loop
  7. Added MouseGestureScrollViewerBehavior to support iPad-like gestures with mouse on ScrollViewer elements (with inertia)
  8. Added test projects for DeferredBinder, multiple export attributes, ListViewColumnAutoSizeBehavior and MouseGestureScrollViewerBehavior

Last edited May 6 at 6:05 PM by markjulmar, version 16