Мы изучаем, как создавать представления ввода данных из динамического списка предопределенных определений полей. Под «предопределенным» я подразумеваю, что существует только 8 основных типов полей. Элемент управления DataForm в Silverlight Toolkit - почти то, что нужно, но он нацелен на объект properties (не список пользовательских определений).
Есть ли существующий проект, чтобы сделать это легко? Пожалуйста, прокомментируйте мою идею дизайна (ниже). У меня есть только ~ 2 недели опыта Silverlight.
Основная идея проекта:
Я думаю об определении пользовательских типов полей данных. IEnumerable<BaseDataField>
будет получен пользовательским интерфейсом, будет перечислен, и элементы управления будут созданы на основе типа каждого поля. Каждое поле создаст метку с описанием, а BooleanDataField
создаст CheckBox, LookupDataField
создаст ComboBox и т. Д.
Псевдокод для пояснения идеи:
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
Это будет расширено, чтобы сделать поля связанными; разрешить указание пользовательских элементов управления для каждого типа; и иметь подтверждение обратной связи.
Легко ли это сделать в Silverlight или мы должны создать собственный элемент управления?
Примечание. Эта программа будет веб-интерфейсом для существующей многоуровневой платформы больших объектов. Все данные сериализуются из службы REST на основе JSON.
Спасибо!