1

我有一个 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其 parent 的属性中Invoice

4

1 回答 1

0

您将不得不手动执行此操作,即

  1. 遍历孩子InvoiceItems
  2. PropertyChanged为他们的事件添加一个处理程序
  3. 当他们的Price财产发生变化时,更新您的Total财产
  4. 在添加/删除发票项目时,可选择处理CollectionChanged事件InvoiceItems以添加/删除PropertyChanged订阅。
于 2012-09-06T05:27:29.050 回答