2015-03-25 27 views
0

我正在审阅this stack overflow post并对其进行了测试,并且按预期工作。但是,我注意到一旦我分配一个新的对象到本地变量的绑定不再起作用。数据绑定到C#中的对象 - 新对象/新实例/作业

我有2个问题:

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(); 

回答

0

那就是e xactly它应该如何工作......绑定仍然在工作,但是在类的前一个实例中,是的,每次创建新对象时都会重新绑定。

相关问题