C# 在Silverlight c中从数据库呈现动态用户控件属性#

C# 在Silverlight c中从数据库呈现动态用户控件属性#,c#,silverlight,C#,Silverlight,我正在开发一个程序,该程序将使用Silverlight和C#从数据库中呈现问卷表格 我现在有一个基于问题记录“控件”字段的用户控件。“文本框”、“标签”等 我只是想知道是否可以基于属性表加载这些控件的属性。例如,我会有一个属性表,其中包含名称-值对,例如“Padding,10”,“Margin,5”等,链接到一个特定的问题 应该创建一个基于大型case语句应用这些属性的方法。 我也想过使用反射,但这可能会给性能带来很大的冲击。 有没有更好的解决办法 谢谢。我找到了解决办法。之前,我只是使用控件类

我正在开发一个程序,该程序将使用Silverlight和C#从数据库中呈现问卷表格

我现在有一个基于问题记录“控件”字段的用户控件。“文本框”、“标签”等

我只是想知道是否可以基于属性表加载这些控件的属性。例如,我会有一个属性表,其中包含名称-值对,例如“Padding,10”,“Margin,5”等,链接到一个特定的问题

应该创建一个基于大型case语句应用这些属性的方法。 我也想过使用反射,但这可能会给性能带来很大的冲击。 有没有更好的解决办法


谢谢。

我找到了解决办法。之前,我只是使用控件类渲染文本框。现在我正在构建XAML,并使用
XamlReader.Load()
将XAML转换为一个控制类

public UIElement GetControl()  
{  
  StringBuilder sb = new StringBuilder();    
  sb.Append("<TextBox xmlns='http://schemas.microsoft.com/client/2007'> ");  
  sb.Append(Model.QuestionAttributes.DrawAttributes());  
  sb.Append("/>");  
  TextBox Textbox = XamlReader.Load(sb.ToString()) as TextBox;  

  return Textbox as TextBox;       
}
public元素GetControl()
{  
StringBuilder sb=新的StringBuilder();
某人加上(“”);
sb.Append(Model.QuestionAttributes.DrawAttributes());
某人加上(“/>”);
TextBox TextBox=XamlReader.Load(sb.ToString())作为TextBox;
将Textbox返回为Textbox;
}