【发布时间】:2015-03-25 02:00:11
【问题描述】:
我正在查看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) );
}
}
但是一旦你在用户表单中创建了一个新的 myClass 实例,绑定就不再起作用了……
myClass = new MyClass();
【问题讨论】:
标签: c# object data-binding textbox