Aumentando PropertyChanged para uma propriedade dependente, quando uma propriedade de pré-requisito é alterada em outra classe?
eu tenho istoBank
classe:
public class Bank : INotifyPropertyChanged
{
public Bank(Account account1, Account account2)
{
Account1 = account1;
Account2 = account2;
}
public Account Account1 { get; }
public Account Account2 { get; }
public int Total => Account1.Balance + Account2.Balance;
public event PropertyChangedEventHandler PropertyChanged = delegate { };
public void RaisePropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Bank
depende de outras classes e tem uma propriedadeTotal
que é calculado a partir das propriedades dessas outras classes. Sempre que algum dessesAccount.Balance
propriedades é alterada,PropertyChanged
é criado paraAccount.Balance
:
public class Account : INotifyPropertyChanged
{
private int _balance;
public int Balance
{
get { return _balance; }
set
{
_balance = value;
RaisePropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged = delegate { };
public void RaisePropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Eu gostaria de levantarPropertyChanged
paraTotal
, sempre que qualquer uma das propriedades de pré-requisito for alterada. Como posso fazer isso de uma maneira que seja facilmente testável?
TL; DR Como faço para aumentarPropertyChanged
para uma propriedade dependente, quando uma propriedade de pré-requisito é alterada em outra classe?