Described is a system and method for controlling user interface (UI)
properties with data. An application is separated into independent parts,
a logic portion and a UI portion. The logic portion manipulates data
values within the application. The UI portion is responsible for
displaying UI properties. A binding specification describes a
relationship between the UI property and the data value. The binding
specification is used by system level code to determine the manner in
which it is notified when the data value undergoes a change and the
manner in which it directs the UI portion to reflect the change in the UI
property. The binding specification identifies a source data item, a path
to the data value in the source data item, a target UI element, and the
UI property on the target UI element. The binding may be specified using
code or markup language.