我正在使用wpf及其C sharp!
我在Animal.cs clas中有这个
private string _animalName;
public string AnimalName
{
get { return _animalName; }
set
{
if(_animalName!= value)
{
_animalName= value;
this.NotifyPropertyChanged("AnimalName");
}
}
}
我也可以写:
公共字符串AnimalName {get; set;}
绑定和验证没有区别。当我交换代码时,Everythings就像以前一样工作。
这是因为我只创造新动物,但我不允许在申请中更新动物名称?
所以我需要调用propertyChanged(“AnimalName”);只有当我想改变它的属性值时?
我是c#beginner;)
答案 0 :(得分:1)
如果您的对象具有将绑定到控件的可更新属性(setter),那么您需要确保通过INotifyPropertyChanged让绑定控件知道该属性的任何更改。但是,如果您有一个readonly属性和/或不会在数据绑定方案中使用的属性,那么您不关心在该属性的setter中实现或调用NotifyPropertyChanged方法,在这种情况下您可以使用自动属性