J'ai une classe comme ceci:C#/WPF: PropertyChanged pour toutes les propriétés dans ViewModel?
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;
}
Mes TextBoxes sont liés à Nom et l'âge du ViewModel. Si je change l'objet _person dans le ViewModel, dois-je appeler de nouveau pour chaque propriété un RaisePropertyChanged ou y a-t-il un moyen de le faire automatiquement (dans mon exemple concret j'ai environ 15 Properties ..)?
Merci pour toute aide.
Vive Joseph
GREAT, je cherchais quelque chose comme ça depuis des mois .. J'ai toujours dû appeler RaisePropertyChanged pour chaque propriété dans mes ViewModels :-) –
Wow, c'est tellement utile, je ne peux pas croire que je ne le savais pas. – Mangist