59

私はこのようなクラスを持っています:

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

私の TextBoxes は、ViewModel の Name と Age にバインドされています。ViewModel で _person オブジェクトを変更した場合、各プロパティに対して RaisePropertyChanged を再度呼び出す必要がありますか、またはこれを自動的に行う方法はありますか (私の具体的な例では、約 15 個のプロパティがあります..)?

助けてくれてありがとう。

乾杯ジョセフ

4

2 に答える 2

119

のプロパティ名にnullまたはを使用して、すべてのプロパティが変更されたことを示すことができます。これは、PropertyChangedのドキュメントに記載されています。string.EmptyPropertyChangedEventArgs

于 2009-12-07T13:48:02.353 に答える