我有一个Invoice对象,它公开了一个只读属性 - Total
。此总额只是发票项目总和的总和:
public decimal Total { get { return this.InvoiceItems.Sum(s => s.Total); } }
InvoiceItems类中的Total属性如下所示:
public decimal Total { get { return Price * Quantity - Discount; } }
类和属性是由LINQ生成的(除了我自己创建的两个类中的Total属性)。例如,当InvoiceItem
上的价格发生变化时,我希望更改会反映在其父Total
的{{1}}属性中。
答案 0 :(得分:0)
您必须手动执行此操作,即
InvoiceItems
PropertyChanged
事件Price
媒体资源发生变化时,请更新您的Total
媒体资源CollectionChanged
上的InvoiceItems
事件,以便在添加/删除发票项目时添加/删除PropertyChanged
订阅。