(+) Styles can now be changed dynamically, see Examples application for a how-to
(+) ViewModelBase class now have a constructor that allows services injection
(+) ViewModelBase services can now be configured by IoC (via Microsoft.Unity)
(+) All ViewModelBase services now have a unit test implementation
(+) Added IProcessService to run processes from a viewmodel with directly using
the process class (which makes it easier to unit test view models)
(*) If the HasErrors property of DataObjectBase is used, and the object is not
yet validated, it will be validated automatically so the HasErrors is actually
correct as initial state
(*) It is now possible to add buttons to the DataWindow via the AddCustomButton method
(*) Text on InfoBarMessageControl can now be customized
(*) UserControl<TViewModel> is no longer abstract to support design mode in WPF
(*) DataWindow<TViewModel> now uses Dispatcher.BeginInvoke to initialize the view model
instead of calling it directly so the window can initialize and update itself before
long-duration view model initialization. For example, the window doesn't become black
when a messagebox is shown during initialization
(*) PleaseWaitHelper no longer re-uses the same instance of the PleaseWaitWindow, but creates a
new window every time, works much better
(x) Fixed issue that a messagebox during the PleaseWaitWindow show via the IMessageService
caused the main window to hide to the background
(x) Fixed issue that ICommand implementations were not correctly cleaned up and the CommandManager
kept invoking On<Command>CanExecute. Now the ICatelCommand implements the IDisposable interface
and the ViewModelBase class correctly disposes the commands upon closing
(x) Fixed several memory leaks that held view models in memory
(x) WindowExtensions.SetOwnerWindow extension method that uses the process handle to set the owner
now respects the CenterScreen property of a WPF window
(x) The first focusable control inside the DataWindow is now correctly focused
(x) StackGrid now supports SizeToContent (it doesn't take all space any longer)