我似乎无法在WinForms设计器中使用基本数据绑定。 (使用VS2012)
MyProperty
的(String)属性以及将MyProperty
设置为“abc”的构造函数。textBox1
)。textBox1
的属性中,展开DataBindings并打开“高级”对话框。
DatabindTest
节点并选择Class1
作为数据对象。
Form1
类开头的 Form1.cs 中,我创建了一个新的Class1实例(请参阅下面的代码)。我做错了什么?
public partial class Form1 : Form
{
Class1 c1 = new Class1();
public Form1()
{
InitializeComponent();
//this.textBox1.Text = c1.MyProperty; //if I uncomment this line,
//"abc" appears in textBox1
//so why not through databinding?
}
}
答案 0 :(得分:2)
您应该设置class1BindingSource
的{{1}}:
class1BindingSource.ِDataSource = c1;
如果您查看设计器生成的文本框和数据绑定代码,您将看到如下代码:
this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text",
this.class1BindingSource, "MyProperty", true));
如您所见,class1BindingSource
是数据绑定的数据源,您应该将数据传递到DataSource
以显示Text
textBox1
属性。