我想要做的是将控件绑定到一个对象,我有一个分类。我遇到的问题是当我做
之类的事情时private Taxonomy _currentTaxonomy = new Taxonomy() { TaxonomyID=0 };
public Taxonomy CurrentTaxonomy{
get;
set{
_currentTaxonomy = value
NotifyPropertyChanged("Taxonomy");
}
}
这样,当分类法设置时,它会发出通知。但问题是我有控件绑定到该分类中的值,这些控件在设置分类时不会得到通知。因此,如果我加载新的分类法,则不会发出通知。
例如,如果我尝试设置分类法,请使用实体框架:
CurrentTaxonomy = context.Taxonomies.Find(2);
通知事件,如下所示:
public int TaxonomyID {
get { return _TaxonomyID; }
set { _TaxonomyID = value; NotifyPropertyChanged("TaxonomyID"); }
}
不会被解雇。
根据请求,文本框绑定如下:
tbTitle.DataBindings.Add("Text", _currentTaxonomy, "Title", false, DataSourceUpdateMode.OnPropertyChanged);
答案 0 :(得分:1)
您应该数据绑定到属性名称TaxonomyID
。假设您的BindingSource.DataSource
指向CurrentTaxonomy
类。
tbTitle.DataBindings.Add("Text", _currentTaxonomy, "TaxonomyID", false, DataSourceUpdateMode.OnPropertyChanged);
见这篇文章:
C# DataBinding - automatically writing changed property to label or textbox