我想使用Windows窗体设计器将属性绑定到控件。
例如,我有这个组件:
class MyComponent:Component, INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged;
private string _strProperty;
[Bindable(true)]
public string StrProperty {
get{
return _strProperty;
}
set {
if (_strProperty != value) {
_strProperty = value;
if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("StrProperty"));
}
}
}
}
我从工具箱中拖动此组件并将其放在表单上。组件名称是myComponent1。在同一个表单上,我有一个名为textBox1的TextBox控件 现在我想将 textBox1.Text 属性绑定到 myComponent1.StrProperty 属性。 我知道我可以写代码:
textBox1.DataBindings.Add(new Binding("Text", myComponent1, "StrProperty"));
但我希望使用设计师获得相同的结果。可能吗?我应该使用BindingSource吗?
答案 0 :(得分:3)
由于你的问题是3年,我不确定这适用于你当时的Visual Studio版本,但对于现在感兴趣的其他人来说,你是如何做到的:
这很简单。如果您检查生成的设计器代码,您将看到创建的新绑定,就像您通过代码完成的那样。
答案 1 :(得分:2)
不,你只能在WinForm中使用代码隐藏来绑定属性。但是,您可以在没有C#代码但使用XAML的情况下在WPF中绑定数据。