【发布时间】:2020-07-30 06:25:26
【问题描述】:
我在网上查了一下,但目前似乎找不到任何解决方案。
我试图在切换产品数量时简单地更新总价。
例如。
产品价格为:$50 数量为 2 因此总价格为 100 美元
这是我的 XAML 代码:
<StackLayout Orientation="Vertical">
<Stepper x:Name="stepper" ValueChanged="Handle_StepperValueChanged"/>
<Label Text="{Binding Source={x:Reference stepper}, Path=Value}" HorizontalOptions="Center"/>
</StackLayout>
<ScrollView BackgroundColor="Black" HorizontalOptions="FillAndExpand">
<Label x:Name="labelTotal" Text="{Binding ShoppingCartItemTotals}" TextColor="White" HorizontalTextAlignment="Center" FontAttributes="Bold" WidthRequest="110" />
</ScrollView>
这是我的 C# 代码:
ObservableCollection<FBProduct> fbproducts = new ObservableCollection<FBProduct>();
shoppingcartlistview.ItemsSource = fbproducts;
var producttitle = "Apple";
var productprice = "37.95";
var productimage = "Image goes here";
fbproducts.Add(new FBProduct
{
ProductName = producttitle,
ProductPrice = productprice,
ProductImage = productimage
});
Console.WriteLine("Total Items:");
string ShoppingCartItemTotals = fbproducts.Select(a => new { Converted = Convert.ToDouble(a.ProductPrice.Replace("$", "")) }).ToList().Sum(a => a.Converted).ToString("#,0.00");
labelTotal.Text = "Total: " + ShoppingCartItemTotals;
【问题讨论】:
-
首先,您为什么使用字符串而不是数字类型来表示价格?其次,我在您的代码中看不到任何代表数量的内容
-
你应该更新
Handle_StepperValueChanged方法中的labelTotal。 -
谢谢杰克,我如何获得步进器的价值并乘以行产品价格?例如,如果该行的产品价格为 10 美元,步进器数量值为 2,那么我将如何获得 qty * 10 美元?
标签: c# ios xaml xamarin.forms shopping-cart