Catel history
=============
(+) Added
(*) Changed
(-) Removed
(x) Error / bug (fix)
For more information about issues or new feature requests, please visit:
http://catel.codeplex.com
Documentation can be found at: http://catel.catenalogic.com
**********************************************************
===========
Version 2.5
===========
Release date:
=============
2011/01/23
Added/fixed:
============
(+) Added MessageMediator that implements the Mediator pattern
(+) Added IValidationSummary to get an easy summary of a IValidationContext
(+) Added ValidationToViewModel attribute to easily get validation summaries mapped onto properties of a view model
(+) Added ViewModel extensions to retrieve a IValidationSummary that includes all child view models as well
(+) Added CommandHelper that allows to automatically hook a command CanExecute to an IValidationSummary
(+) Added SelectTextOnFocus behavior
(+) Added GetBindingExpression extension method for DependencyObject in Silverlight to allow the retrieval of
bindings for non-FrameworkElement types that still do support bindings (such as behaviors and dependency objects)
(+) Added IsAssociatedObjectLoaded to BehaviorBase, TriggerBase and TriggerActionBase
(+) Added DeferValidationUntilFirstSaveCall to defer the validation until the first call to SaveViewModel
(+) Added OnViewModelClosed methods to UserControl<TViewModel> and DataWindow<TViewModel>
(+) Added caching to the ExpressionHelper to improve the performance on lambda expression parsing
(+) Added nested view models validation summaries to allow the retrieval of a validation summary from a view model tree
(*) WeakEventListener now also supports PropertyChangedEventHandler and NotifyCollectionChangedEventHandler
(*) WeakEventListener now has convenience classes that automatically detects the types required so an event
can be subscribed like WeakEventListener.SubscribeToWeakPropertyChangedEvent(target, source, "MyEvent", MyHandler)
(*) When ViewModelBase.ValidateModelsOnInitialization is set to false, properties decorated with the ViewModelToModel
attribute are notlonger validated on model changes
(*) Small improvement in DependencyObjectExtensions.FindVisualDescendant where it will always loop the children when
the control is unknown instead of only with a panel
(*) ViewModelBaseWithoutService now also unsubscribes itself as life instance as soon as it is closed
(*) IViewModel now has a UniqueIdentifier property which is a counter. This way, the uniqueness of a view model is no
longer determined by its creation time (because in some very rare situations, the creation time of several view
models was equal)
(*) PropertyHelper now caches reflection results for better performance
(*) Project template for WPF application now starts the main window maximized
(*) ViewModelToModel attribute now has a Mode property to specify the mapping mode
(*) Improved the way models are uninitialized and initialized again when decorated with Model attribute
(*) BREAKING CHANGE: Removed IsReadonly from Expose attribute, replaced by Mode property
(*) BREAKING CHANGE: non-static PropertyData definitions are no longer allowed (would destroy serializations, and this
is actually not allowed anyway)
(*) BREAKING CHANGE: Validation methods now use interfaces instead of classes
(*) FrameworkElement.GetParent extension method now also uses VisualTreeHelper.GetParent
(*) DataWindow in WPF now first focuses the default button before handling it to make sure all bindings are updated
(*) WrapControlHelper is now public so it can be used by other classes as well
(-) BREAKING CHANGE: Removed IDisposable from IViewModel and IDataObjectBase, objects no longer need to be disposed
(-) Removed RetrySafetyCounter
(x) Fixed issue where OnNavigationCompleted was not invoked when the back button was
used in navigation based applications
And much more!