如何基于对象动态创建控件(在C#/ Silverlight中)

时间:2013-06-28 13:36:34

标签: c# silverlight dynamic configuration

我正在尝试基于对象创建表单。例如,对象Configuration.cs可能有一个由3个值(RGB)组成的字段(Color),以及许多其他类型的字段。

创建一个动态添加到表单的ColorUserControl类没有问题,但是如何根据对象Configuration中的字段创建这些控件呢?

以下是我喜欢能够执行的代码示例...

Foreach (field in Configuration)
{
  if (field is Color)
  {
    add ColorUserControl to form
  }
}

2 个答案:

答案 0 :(得分:0)

您可以使用Switch语句分隔类型。然后为您存储的每种类型预定义UserControls。然后通过配置文件中的其他值填充属性。

答案 1 :(得分:0)

实际上,您可以使用.GetFields()

实际遍历字段

然后可以轻松地在每个字段上使用getType