In the basics section of this documentation, the binding of UI element properties to context attributes has already been discussed. For a simple application, basically the property value is bound to an attribute to display a value from the context on the screen or to pass a user input to the context. Most of the other properties of a UI element can also be determined statically in the table by specifying a value, and can therefore be manipulated at design time without being bound to a context attribute. One example for this is the enabled property of a button. At design time, you can determine a button to be active all the time by setting the respective tick in the properties table of the button.
However, in a larger application it may make sense to vary the state of a number of properties depending on particular conditions. In such a case, you can no longer determine the value of the respective property at design time. The property is then bound to a context attribute that can accept different values at runtime. A button can then be active or inactive, depending on the program conditions. Another example is the visible property. A table can be visible in a particular context while it shall not be displayed in a different context.
To support this data binding concept, the Web Dynpro runtime offers a set of special data types.