# Data Binding

Data binding is a [concept](http://en.wikipedia.org/wiki/Data_binding) by
which two data items are bound, so that changes to one are propagated to the
second, and vice versa. This requires the possibility to detect such changes
during runtime. In qooxdoo, [class properties](/core/understanding_properties#understanding_properties) fulfill this
requirement.

Using data binding allows you to e.g. keep two widgets automatically
synchronized over the runtime of your application, although they might be
spatially separated and have wildly different visual representations (e.g. a
text field and a spinner).

Here you find more information:

- [Concept](data_binding.md)
- [Single value binding](single_value_binding.md)
- [Controller](controller.md)
- [Stores](stores.md)
- [Models](models.md)
- [Events](events.md)
