Rating:        Based on 1 rating
Reviewed:  0 reviews
Downloads: 957
Change Set: 64118b81858e
Released: Jan 23, 2012
Updated: Jan 23, 2012 by GeertvanHorrik
Dev status: Stable Help Icon

Recommended Download

Application Catel 2.5 - libraries
application, 7755K, uploaded Jan 23, 2012 - 368 downloads

Other Available Downloads

Application Catel 2.5 - setup
application, 13280K, uploaded Jan 23, 2012 - 167 downloads
Source Code Catel 2.5 - source
source code, 18669K, uploaded Jan 23, 2012 - 147 downloads
Documentation Catel 2.5 - documentation
documentation, 9894K, uploaded Jan 23, 2012 - 146 downloads
Source Code Catel 2.5 - code snippets
source code, 9K, uploaded Jan 23, 2012 - 129 downloads

Release Notes

Catel history

(+) Added
(*) Changed
(-) Removed
(x) Error / bug (fix)

For more information about issues or new feature requests, please visit:


Documentation can be found at: http://catel.catenalogic.com


Version 2.5

Release date:

(+) 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!

Reviews for this release