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