Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed dataprop codesnippet name to modelprop which is the correct

This is a quick introduction for developers who don't have a lot of time to read all the docs. This document contains the absolute basics of what a developer needs to know.

...

This pare contains the core functionality of Catel and what you should know when using Catel.

Logging / debugging

If you ever think Catel is behaving strange or does not work as expected, make sure to enable the logging. Below is an example on how to enable the logging:

Code Block
#if DEBUG
    LogManager.RegisterDebugListener();
#endif

Catel will then log everything to the output window and provide all the information about its internals.

For more information, read about logging.

Catel properties

All properties in classes deriving from ModelBase (thus also ViewModelBase) require a special property definition.

...

Info

Note that you can use the dataprop modelprop or vmprop to easily create these properties using code snippets. You can also use Catel.Fody instead

...

It goes even further. Catel can create view models based on the data context. For more information, read nested user controls.

 

 

Handling hierarchy and parent/child view models

Note that Catel is already fully aware of parent/child relations of view models so you don’t have to do anything for this yourself. For more information, read nested user controls.

Communication between view models

There are several methods available to communicate between view models. Just make sure that you never directly reference other view model and keep everything loosely coupled.

Resolving views and view models

Catel resolves views and view models by naming convention. This means that based on the name of a view, the view model can be determined. This also works the other way around where the view model can be determined based on the view. For more information, read about naming conventions.