【发布时间】:2010-01-26 08:33:21
【问题描述】:
我们正在研究如何从预定义字段定义的动态列表创建数据输入视图。 “预定义”是指只有 8 种基本字段类型。 Silverlight Toolkit 的 DataForm 控件几乎是我们想要的,但它针对对象 properties(不是自定义定义列表)。
是否有现有的项目可以简化此操作?请评论我的设计理念(下)。我只有大约 2 周的 Silverlight 经验。
基本设计理念:
我正在考虑定义自定义数据字段类型。 UI 将接收 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 中轻松完成,还是我们应该创建一个自定义控件?
注意:该程序将是现有多层 LOB 平台的 Web UI。所有数据都从基于 JSON 的 REST 服务序列化。
谢谢!
【问题讨论】:
-
您说您只有 2 周的 Silverlight 经验,但您有多少 .NET 经验?它往往翻译得很好。我建议将
abstract public Type FieldType { get; }添加到BaseDataField,因为这可能是有用的信息。 -
我有 2-3 年的 .NET 2.0 经验和 MCPD。 XAML、Silverlight 控件和绑定模型对我来说非常陌生。感谢您的建议。
标签: c# wpf silverlight dynamic-controls data-entry