Я хотел бы динамически генерировать некоторые элементы управления в моем приложении Silverlight.
Чтобы быть более понятным, вот упрощенное определение моего класса:
public class TestClass
{
[Display(Name="First Name")]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
public string LastName { get; set; }
public List<CustomProperty> CustomProperties { get; set; }
}
Каждое «CustomProperty», наконец, будет TextBox, CheckBox или ComboBox:
public class CustomProperty
{
public CustomDataType DataType { get; set; } //enum:integer, string, datetime, etc
public object Value { get; set; }
public string DisplayName { get; set; }
public string Mappings { get; set; } // Simulating enums' behavior.
}
Как лучше всего реализовать это с помощью шаблона MVVM? Если я проанализирую CustomProperties в ViewModel и выясню, какие элементы управления должны быть созданы, как я могу создать новые элементы управления в моем представлении на основе шаблона MVVM.
Есть ли какой-нибудь элемент управления silverlight, который может помочь мне ускорить пользовательский интерфейс?
Могу ли я программно определять аннотации данных? например, после анализа настраиваемого свойства могу ли я добавить к свойству некоторые аннотации данных (отображение, проверка) и привязать их к DataForm, PropertyGrid или полезному элементу управления в этой ситуации?
Спасибо.