我们正在研究如何从预定义字段定义的动态列表创建数据输入视图。“预定义”是指只有 8 种基本字段类型。Silverlight Toolkit 的 DataForm 控件几乎是我们想要的,但它以对象属性(不是自定义定义列表)为目标。
是否有现有的项目可以使这变得容易?请评论我的设计理念(下)。我只有大约 2 周的 Silverlight 经验。
基本设计理念:
我正在考虑定义自定义数据字段类型。将IEnumerable<BaseDataField>
被 UI 接收、枚举,并根据每个字段的类型创建控件。每个字段都将创建一个带有描述的标签,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 中轻松完成,还是我们应该创建一个自定义控件?
注意:该程序将是现有多层 LOB 平台的 Web UI。所有数据都从基于 JSON 的 REST 服务序列化。
谢谢!