【问题标题】:Data Binding to an object in C# - New Object / New Instance / Assignment数据绑定到 C# 中的对象 - 新对象/新实例/分配
【发布时间】: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


    【解决方案1】:

    这正是它应该如何工作的......该绑定仍在工作,但在该类的前一个实例上,是的,您每次创建新对象时都会重新绑定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 2013-02-14
      相关资源
      最近更新 更多