я развиваю свой собственный «MyTextBox» контрольWinForms. Дизайн времени привязка данных к свойству дочернего элемента управления
public class MyTextBox:UserControl
{
TextBox textBox;
Button button;
public MyTextBox()
{
this.textBox = new TextBox();
this.button = new Button();
this.button.Click += button_Click;
this.Controls.Add(this.textBox);
this.Controls.Add(this.button);
}
public TextBox TextBox
{
get
{
return this.textBox;
}
}
}
Теперь во время разработки я ставлю «MyTextBox» на форме. В конструкторе PropertyGrid Я вижу, что свойство TextBox элемента управления myTextBox1 отображается в подстроке .
Я также добавляю «BindingSource» в форму для привязки данных.
Sub-Grid предлагает свойство «Текст» для привязки, и я привязываю его к bindingSource1 так же, как мы все обычно связываем свойство Text с текстом. Я ожидаю, что Конструктор создаст следующий код:
this.myTextBox1.TextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource1, "FullName"));
Пошаговое руководство, приведенное выше, не дает этого эффекта. Мне интересно, есть ли способ сделать это. Мое намерение заключается в привязке к данным свойства «Текст» TextBox, дочернего по MyTextBox, в Design-time.
Theres одно правило для DataBinding и WinForms : Не используйте его. Если вы хотите использовать Databinding, используйте WPF. – user3292642
Честно говоря, я согласен с тобой. Меня мучают с тех пор, как я начал разработку проекта :). Но в любом случае мне нужно решение – Bahrom
Не сдавайтесь слишком рано. Одной из наиболее полезных функций Windows Forms является привязка данных. –