Xamarin.forms xamarin表单:如何在listview中乘以价格和数量

Xamarin.forms xamarin表单:如何在listview中乘以价格和数量,xamarin.forms,Xamarin.forms,我有一个列表视图,其中有数量和项目价格,我需要将这两个值乘以,并在标签中显示totalprice。总价格标签也在listview中这里是我的代码 在模型中为TotalPrice创建只读属性并绑定到该属性 <Label Text="{Binding TotalPrice}" ... /> public decimal TotalPrice { get { return itemPrice * Qty; } } 公共十进制总价{ 得到{ 退货项目价格*数量; } }

我有一个列表视图,其中有数量和项目价格,我需要将这两个值乘以,并在标签中显示totalprice。总价格标签也在listview中这里是我的代码


在模型中为TotalPrice创建只读属性并绑定到该属性

<Label Text="{Binding TotalPrice}" ... />

public decimal TotalPrice {
  get {
    return itemPrice * Qty;
  }
}

公共十进制总价{
得到{
退货项目价格*数量;
}
}

显然
itemPrice
quantity
是可绑定的,因此最简单的方法是使用第三个属性并提高其属性更改

公共类StockViewModel:INotifyPropertyChanged
{
公共物品价格
{
获取=>\u项目价格;
设置{
_项目价格=价值;
RaisePropertyChanged(名称(项目价格));
RaisePropertyChanged(名称(总价));
}
}
公共整数数量
{
获取=>\u数量;
设置{
_数量=价值;
RaisePropertyChanged(名称(数量));
RaisePropertyChanged(名称(总价));
}
}
公共十进制总价=>itemPrice*数量;
}
编辑

为了侦听中项目的更改,您需要将集合的类型设置为
observedcollection
;但是,由于ObservableCollection实际上不会在其中的项发生更改时发出通知,因此需要进一步增强逻辑

公共类MyViewModel:INotifyPropertyChanged
{
//执行器
公共MyViewModel()
{
//只设置一次,然后添加和删除位。
股票=新的可观察集合();
Stock.CollectionChanged+=OnStockChanged;
}
私人可观测集合股票;
公共可观测集合存量=>\U存量;
公共双库存总额=>Stock.Sum(项目=>item.totalPrice);
私有无效OnStockChanged(对象发送方,NotifyCollectionChangedEventArgs e)
{
if(e.Action==NotifyCollectionChangedAction.Remove)
{
foreach(e.OldItems中的var项)
{
//删除的项目
item.PropertyChanged-=StockItemPropertyChanged;
}
}
else if(e.Action==NotifyCollectionChangedAction.Add)
{
foreach(e.NewItems中的var项)
{
//新增项目
item.PropertyChanged+=StockItemPropertyChanged;
}     
} 
}
私有void StockItemPropertyChanged(对象发送方,PropertyChangedEventArgs e)
{
RaisePropertyChanged(股票总额名称);
}
}
编辑

我刚刚学习了
BindingList
,它可以减少您必须编写的代码


好的,谢谢它的工作,但还有一个问题,当我从stepper更改数量值时,我如何在运行时计算总价?参见Chase的回答,它比我的更充实了一点。我刚刚在类中计算数量和价格
public class LocalItems{[MaxLength(10)]public decimal?itemPrice{get;set;}[MaxLength(10)]public int Qty{get;set;}public decimal TotalPrice{get{return Convert.ToDecimal(itemPrice*Qty);}}}}
您的类需要实现INotifyPropertyChangedreally赞赏man,感谢它所做的大量工作,现在我需要知道的最后一件事是,如果你能帮我,我在listview中有一个价目表,它是totalprice,在listview的底部,我如何显示它的汇总价格?就像整体价格一样。。。。