MVVM の設計に大きな問題があります。ViewModel内で、ネストされたオブジェクトのさらにpropertchangedを含む、内部のネストされたオブジェクトのすべてのPropertyChangedをキャッチしようとしていますが、その方法がわかりません。
これが私の構造です:
class MyVM
{
public MyVM()
{
this.SomeData = new SomeData();
this.SomeData.NestedObj = new MyNestedDat();
this.SomeData.Str = "This tiggers propertychanged inside MyDat class";
// this triggers propertychanged event inside MyNestedDat class
this.SomeData.NestedObj.Num = 123;
}
// and here should be a method where i catch all possibe propertychanges from my nested objets and their nested objets, how do i do that?
public MyDat SomeData
{
get;
set;
}
}
class MyDat : INotifyPropertyChanged
{
private string str;
public string Str;
{
get { return this.str;}
set
{
this.str = value;
this.PropertyChanged(this, "Str");
}
}
publicMyNestedDat NestedObj
{
get;
set;
}
}
class MyNestedDat : INotifyPropertyChanged
{
private int num;
public int Num
{
get{ return this.num;}
set
{
this.num = value;
this.PropertyChanged(this, "Num");
}
}
}
これを機能させるにはどうすればよいですか?私はどこから始めればいいのか本当にわかりません。
MyNestedDat クラスは PropertyChanged をスローし、MyDat クラスは propertychanged をスローし、ビューモデル内でそれらすべてをキャッチしたいと考えています。どうやってやるの?