We are investigating how to create data entry views from a dynamic list of pre-defined field definitions. By "pre-defined", I mean that there are only 8 basic field types. The Silverlight Toolkit's DataForm control is almost what want, but it targets object *properties* (not a list of custom definitions).

Is there an existing project to make this easy? Please comment on my design idea (below). I have only ~2 weeks Silverlight experience.

**Basic design idea:**

I am thinking of defining custom data field types. An `IEnumerable<BaseDataField>` will be received by the UI, enumerated, and controls will be created based on the type of each field. Each field will create a label with the description and `BooleanDataField` will create a CheckBox, `LookupDataField` will create a ComboBox, etc.

Pseudo code to clarify the idea:

```
public abstract class BaseDataField {
    public string FieldCode { get; private set; }
    public string FieldDescription { get { return FieldDefinitions.Instance.FieldDescription(FieldCode); } }
    ...
}

public class StringDataField : BaseDataField
public class BooleanDataField : BaseDataField
public class CurrencyDataField : BaseDataField
public class IntegerDataField : BaseDataField
public class NumericDataField : BaseDataField
public class DateTimeDataField : BaseDataField
public class LookupDataField : BaseDataField
public class SpecialDataField : BaseDataField

```

This will be extended to make the fields bindable; allow specifying custom controls for each type; and have validation feedback.

Can it be easily done in Silverlight or should we create a custom control?

Note: This programme will be a web UI for an existing, multi-tier LOB platform. All data is serialised from a JSON-based REST service.

Thanks!