views:

393

answers:

1

Hello,

I've a class like this:

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;
    }

My TextBoxes are bound to Name and Age of the ViewModel. If I change the _person object in the ViewModel, do I have to call for each Property a RaisePropertyChanged again or is there a way to do this automaticly (in my concret example I have about 15 Properties..)?

Thanks for any help.

Cheers Joseph

+4  A: 

You can indicate all properties have changed by using null or string.Empty for the property name in PropertyChangedEventArgs. This is mentioned in the documentation for PropertyChanged.

Phil Devaney
GREAT, I was looking for something like this since months.. I always had to call RaisePropertyChanged for each Property in my ViewModels :-)
Joseph Melettukunnel