我有兩個類,一個用於ViewModel和一個用於產品。 產品分類中有一個名爲的線路,線路總計爲,而ViewModel分類有一個名爲的總額。 Product類綁定到DataGrid,用戶 插入數量,隨後自動更新Line Total。通知/綁定父財產來計算子財產的總和
這裏是視圖模型類:
public class ViewModel : INotifyPropertyChanged
{
public ObservableCollection<Product> products { get; set; }// the children
private decimal _TotalAmount;
public decimal TotalAmount // <=== has to hold sum of [products.LineTotal]
{
get
{
return totalAmount;
}
set
{
if (value != _TotalAmount)
{
_TotalAmount = value;
onPropertyChanged(this, "TotalAmount");
}
}
}
這裏是產品類,這是一個孩子:
public class Product : INotifyPropertyChanged
{
private decimal _LineTotal;
public decimal LineTotal
{
get
{
return _LineTotal;
}
set
{
if (value != _LineTotal)
{
_LineTotal = value;
onPropertyChanged(this, "LineTotal");
}
}
}
}
我的問題是:如何在總金額可以計算所有產品總和[總共]?孩子如何產品可以通知父母ViewModel更新TotalAmount?
喜歡的東西:
foreach(var product in Products)
{
TotalAmount += product.LineTotal;
}
如果我不取消訂閱產品項目將從產品集合中刪除的'PropertyChanged'事件,那好嗎?我有關於'CollectionChanged'事件的相同問題(可能在Dispose方法中?)。 – Gromy