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

Introduction

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:
  • Controls
  • CSLA.NET
  • Data
  • Entity Framework
  • FluentValidation
  • Prism

The release cycle is very short (4 weeks), so all found features and bugs are solved within 4 weeks.

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

 Geert van Horrik News Feed 
Wednesday, September 17, 2014  |  From Geert van Horrik
Friday, August 15, 2014  |  From Geert van Horrik
 Geert van Horrik News Feed 

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.

Core

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)

MVVM

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

nestedusercontrols_overview.png

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:

Sponsors


JIRA
Confluence
Resharper

Available languages

Last edited Feb 5 at 7:24 PM by GeertvanHorrik, version 184