A computer program product comprising one or more computer-readable storage media having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to perform a method for facilitating binding of a compound control to one or more data sources, a compound control including a plurality of controls being associated to each other according to a hierarchical structure, a control being computer-executable code having a layout on which it operates, the method comprising: an act of identifying a plurality of properties of the compound control; an act of associating a particular data source with the compound control, including an act of determining that a particular data source may be used as a source of data to bind to the compound control based on metadata associated with the plurality of properties of the compound control and at least a schema of the particular data source, the particular data source having a plurality of fields organized within its schema, the determination being performed by heuristically taking into account the type of the available fields and knowledge the computing system has been able to obtain regarding the meaning of the fields or previous usage (402; 510); and for at least one of the plurality of properties of the compound control having bound thereto an output parameter of a transformation being provided by a user, an act of identifying a set of one or more fields of the particular data source that may be bound to the corresponding property of the compound control through the transformation by being bound to one or more input parameters of the transformation, based at least on the schema of the data source and metadata regarding the corresponding property, the binding being performed by considering the type, name and meaning of the input and output parameters and the available fields and control properties. an act of identifying a plurality of properties of the compound control; an act of associating a particular data source with the compound control, including an act of determining that a particular data source may be used as a source of data to bind to the compound control based on metadata associated with the plurality of properties of the compound control and at least a schema of the particular data source, the particular data source having a plurality of fields organized within its schema, the determination being performed by heuristically taking into account the type of the available fields and knowledge the computing system has been able to obtain regarding the meaning of the fields or previous usage (402; 510); and for at least one of the plurality of properties of the compound control having bound thereto an output parameter of a transformation being provided by a user, an act of identifying a set of one or more fields of the particular data source that may be bound to the corresponding property of the compound control through the transformation by being bound to one or more input parameters of the transformation, based at least on the schema of the data source and metadata regarding the corresponding property, the binding being performed by considering the type, name and meaning of the input and output parameters and the available fields and control properties.