Я имею следующую структуру классаPropertyChanged для структуры вложенного класса
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");
}
}
}
На мой взгляд, я обязывающего к IsInnerTrue свойству высшего класса. Моя проблема в том, что я не могу понять, как запустить событие PropertyChanged для IsInnerTrue, когда свойство IsTrue одного из объектов Inner меняет значение.
Есть ли у кого-нибудь предложение, если не настроить обработчик событий для каждого Внутреннего объекта?
Это именно то, что вам нужно сделать. Подпишитесь на PropertyChanged на каждом внутреннем и отреагируйте соответствующим образом. – GazTheDestroyer
Согласовано. Также используйте IsInnerTrue {get {return innerList.All (IsTrue); } – Phil
Спасибо. Я надеялся на менее сложный способ сделать это. –