数据绑定到C#中的对象 - 新对象/新实例/分配

时间:2015-03-25 02:00:12

标签: c# object data-binding textbox

我正在审核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();

1 个答案:

答案 0 :(得分:0)

它究竟是如何工作的...那个绑定仍在工作,但是在上一个类的实例上,是的,每次创建一个新对象时都会重新绑定。 / p>