Ich habe die folgende KlassenstrukturProperty für verschachtelte Klassenstruktur
class Top : NotifyPropertyChanged
{
private List<Inner> innerList;
public bool IsInnerTrue
{
get
{
foreach (Inner inner in innerList)
{
if (inner.IsTrue)
return true;
}
return false;
};
}
}
class Inner : NotifyPropetyChanged
{
private bool isTrue;
public bool IsTure
{
get
{
return isTrue;
}
set
{
isTrue = value;
NotifyPropretyChanged("IsTrue");
}
}
}
Aus meiner Sicht ich auf die IsInnerTrue Eigenschaft der Top-Klasse bin verbindlich. Mein Problem ist, dass ich nicht herausfinden kann, wie das PropertyChanged-Ereignis für IsInnerTrue ausgelöst wird, wenn die IsTrue-Eigenschaft eines der Inner-Objekte den Wert ändert.
Hat jemand einen Vorschlag, kurz einen Event-Handler für jedes Inner-Objekt einzurichten?
Das ist genau das, was Sie tun müssen. Abonniere PropertyChanged auf jedem Inneren und reagiere dementsprechend. – GazTheDestroyer
Einverstanden. Verwenden Sie auch IsInnerTrue {get {return innerList.All (IsTrue); } – Phil
Danke. Ich habe auf einen weniger komplexen Weg gehofft. –