Я пытаюсь добавить элементы управления в UserControl динамически (программно). Я получаю общий список объектов из моего бизнес-уровня (извлекается из базы данных), и для каждого объекта я хочу добавить метку и текстовое поле в пользовательский элемент управления WPF и установить положение и ширину, чтобы они выглядели красиво и, надеюсь, использовать возможности проверки WPF. Это то, что было бы легко в программировании Windows Forms, но я новичок в WPF. Как это сделать (см. Комментарии к вопросам) Скажите, что это мой объект:
public class Field {
public string Name { get; set; }
public int Length { get; set; }
public bool Required { get; set; }
}
Затем в моем WPF UserControl я пытаюсь создать Label и TextBox для каждого объекта:
public void createControls() {
List<Field> fields = businessObj.getFields();
Label label = null;
TextBox textbox = null;
foreach (Field field in fields) {
label = new Label();
// HOW TO set text, x and y (margin), width, validation based upon object?
// i have tried this without luck:
// Binding b = new Binding("Name");
// BindingOperations.SetBinding(label, Label.ContentProperty, b);
MyGrid.Children.Add(label);
textbox = new TextBox();
// ???
MyGrid.Children.Add(textbox);
}
// databind?
this.DataContext = fields;
}