我正在审核this stack overflow post并对其进行测试,并且按预期工作。但是,我注意到,一旦将新对象分配给局部变量,绑定就不再有效。
我有两个问题:
1)必须有更好的方法,我无法想象通过并修改我的所有属性并从简单的1行代码public string Title2 { get; set; }
更改为调用某些方法的某个冗长的getter / setter属性
2)每次创建对象的新实例时,是否必须重新绑定?
用户窗体:
MyClass myClass;
textbox1.DataBindings.Add("Text", this.myClass, "MyName");
对象
public class MyClass : INotifyPropertyChanged
{
private string _myName;
public string MyName
{
get { return _myName; }
set
{
if( _myName != value )
{
_myName = value;
OnPropertyChanged("MyName");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if( PropertyChanged != null )
PropertyChanged( this , new PropertyChangedEventArgs(propertyName) );
}
}
但是只要在userform中创建myClass的新实例,绑定就不再有效......
myClass = new MyClass();
答案 0 :(得分:0)
它究竟是如何工作的...那个绑定仍在工作,但是在上一个类的实例上,是的,每次创建一个新对象时都会重新绑定。 / p>