我上了这样的课:
public class PersonViewModel : ViewModelBase //Here is the INotifyPropertyChanged Stuff
{
public PersonViewModel(Person person)
{
PersonEntity = person;
}
public Person PersonEntity {
get { return PersonEntity.Name; }
private set { PersonEntity.Name = value; RaisePropertyChanged("PersonEntity");
}
public string Name {
get { return PersonEntity.Name; }
set { PersonEntity.Name = value; RaisePropertyChanged("Name");
}
public int Age{
get { return PersonEntity.Age; }
set { PersonEntity.Age= value; RaisePropertyChanged("Age");
}
public void ChangePerson(Person newPerson)
{
//Some Validation..
PersonEntity = newPerson;
}
我的文本框绑定(bind)到ViewModel的名称和年龄。
如果我在ViewModel中更改_person对象,是否必须为每个Property再次调用RaisePropertyChanged或是否可以自动进行此操作(在我的具体示例中,我大约有15个Properties ..)?
谢谢你的帮助。
干杯
约瑟夫
最佳答案
您可以使用null
中的属性名称string.Empty
或PropertyChangedEventArgs
来指示所有属性已更改。在PropertyChanged的文档中提到了这一点。