在我的xamarin.forms应用程序中,我发现了一个问题,在我的购物车页面中我有一个+按钮,同时点击按钮项目添加到购物车如果我再次点击它将删除,但我无法删除导航回购物车页面后的项目。
btn_Cart.Clicked += (sender, e) =>{
sender = BindingContext;
cm_items item = (cm_items)sender;
Int32 inItemId = (BindingContext as cm_items).item_id;
var count = App.Instance.ViewModel.TempList.Count;
var value = App.Instance.ViewModel.TempList;
Boolean blInsertStatus = true;
try{
if (count == 0) {
item.IsAddedToCart = true;
value.Add(item);
}
else
{
for (int i = 0; i < count; i++)
{
if (value [i].item_id == inItemId)
{
value.Remove(item);
blInsertStatus = false;
item.IsAddedToCart = false;
break;
}
}
if (blInsertStatus)
{
if (item.IsAddedToCart)
{
item.IsAddedToCart = false;
value.Remove(item);
}
else
{
item.IsAddedToCart = true;
value.Add(item);
}
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
throw;
} };
当我第一次删除某个项目时没有问题,但导航到不同的页面后,它会产生trouble.item没有被删除,图像也不会被更改。我的代码有什么问题?
答案 0 :(得分:0)
您的活动是否可能会被注册两次而这会导致麻烦?
首次访问页面:btn_Cart.Clicked + = ...
第二次访问页面:btn_Cart.Clicked + = ...
多久会调用一次“btn_Cart.Clicked”?为了进行更好的调试,我建议添加一些调试输出。类似于:“项目已添加”,“项目已删除”。这样你就可以看到你的代码实际上做了什么。