Moved to CatelProject.com
On April 18th, 2013 we moved to GitHub because it provides better support for pull requests and has better integration with our issue tracker.
For the latest information, please visit http://www.catelproject.com
Catel is an application development platform with the focus on MVVM (WPF, Silverlight, Windows Phone and WinRT) and MVC (ASP.NET MVC). The core of Catel contains an IoC container, models, validation, memento, message mediator, argument checking, etc.
Catel.MVVM contains all the MVVM classes such as ViewModelBase, Command, services, etc.
Catel.MVC contains all the MVC classes.
Catel also provides the following extensions:
The release cycle is very short (4 weeks), so all found features and bugs are solved within 4 weeks.
- Entity Framework
If you are not convinced yet, take a look at the MVVM comparison sheet
and you will be convinced.
External Issue tracker
Note that we no longer use the issue tracker of codeplex as from March 8, 2013, but JIRA
Donations are welcome
Writing and supporting Catel takes time, lots of time. To thank the team, you can donate some money which we will use to buy a beer in the weekends:YES, I WOULD LIKE TO MAKE A DONATION
Need help or consultancy?
If you need help, don't hesitate to create a new discussion. If you need more advanced help, we are also available for consultancy
Follow us on Twitter
You can follow us on twitter for the latest news and notifications about new releases (both official and betas/nightly builds): @CatelProject
Latest blog posts by Geert van Horrik
Latest blog posts by Alexánder Fernández Saúco
Looking for examples?
The examples are located in a separate repository at http://catelexamples.codeplex.com
The core library of Catel contains some very useful classes, even when not developing anything with MVVM (but, for example, a website):
- Argument class (always check your input, now easy with Argument.IsNotNull("argument", argument), etc)
- IoC container (with extented support for Unity, MEF, Ninject, Windsor, etc)
- Memento pattern
- MessageMediator (mediator pattern)
- WeakEventListener (no more memory leaks, works for all target frameworks)
The MVVM framework includes the following features that differs this project from other frameworks:
- Communication with other view models via simple attributes, no messengers needed (but still, a MessageMediator is available)
- Solves the nested user controls problem in MVVM, view models are created on the fly when needed based on the datacontext
- UserControl<TViewModel> and DataWindow<TViewModel> that are fully compatible with the MVVM framework and easy to use
Of course, the framework also implements the features you can find in any MVVM framework:
- ViewModelBase with INotifyPropertyChanged, IDataErrorInfo, INotifyDataErrorInfo support
- Command (a.k.a. RelayCommand)
- EventToCommand and lots of other behaviors
- View Model Services such as the IMessageService, IPleaseWaitService, IUIVisualizerService, etc
- Design-time data support
Articles and blog posts
There are several article s available about Catel. The articles are posted on The Code Project: