从 observable collection 中获取最后删除的值
Get the last removed value from observable collection
我是 Microsoft 世界的新手。我正在使用 Xamarin.Forms 开发一个 E-commerce 应用程序。
我正在使用 ObservableCollection 绑定 ListView ItemSource。我的所有数据都是从本地数据库中检索的。
ObservableCollection<CatlougeData>items;
public PlaceOrderPage ()
{
InitializeComponent ();
var CartList =App.Database.GetAllItems ();
items = new ObservableCollection<CatlougeData> (CartList);
pickedItemList.ItemsSource = items;
lblGrandTotal.Text=App.Database.GetGrandTotal ().ToString ();
}
我在购物车 ListView 中添加了删除上下文菜单以删除选定的购物车。
删除代码
public void OnDeleteMenu (object sender, EventArgs e) {
var SelectedMenu = ((MenuItem)sender);
items.Remove ((CatlougeData)SelectedMenu.CommandParameter);
}
当我删除购物车商品时,我想更新我的数据库。为了能够做到这一点,我想访问最近删除的 collection 项目。我被困在这个阶段。
谁能指出我正确的方向?
您可以尝试连接到 ObservableCollection 的 CollectionChanged 事件。然后,您可以通过 NotifyCollectionChangedEventArgs 确定是否添加或删除了项目。
更多信息,请参考以下文档
https://msdn.microsoft.com/en-us/library/ms653375(v=vs.110).aspx
最简单的答案是在使用您的 OnDeleteMenu
方法时,在删除之前存储变量:
private CatlougeData LastDeletedItem { get; set;}
public void OnDeleteMenu (object sender, EventArgs e)
{
var SelectedMenu = ((MenuItem)sender);
LastDeletedItem = (CatlougeData)SelectedMenu.CommandParameter;
items.Remove ((CatlougeData)SelectedMenu.CommandParameter);
}
我是 Microsoft 世界的新手。我正在使用 Xamarin.Forms 开发一个 E-commerce 应用程序。 我正在使用 ObservableCollection 绑定 ListView ItemSource。我的所有数据都是从本地数据库中检索的。
ObservableCollection<CatlougeData>items;
public PlaceOrderPage ()
{
InitializeComponent ();
var CartList =App.Database.GetAllItems ();
items = new ObservableCollection<CatlougeData> (CartList);
pickedItemList.ItemsSource = items;
lblGrandTotal.Text=App.Database.GetGrandTotal ().ToString ();
}
我在购物车 ListView 中添加了删除上下文菜单以删除选定的购物车。
删除代码
public void OnDeleteMenu (object sender, EventArgs e) {
var SelectedMenu = ((MenuItem)sender);
items.Remove ((CatlougeData)SelectedMenu.CommandParameter);
}
当我删除购物车商品时,我想更新我的数据库。为了能够做到这一点,我想访问最近删除的 collection 项目。我被困在这个阶段。 谁能指出我正确的方向?
您可以尝试连接到 ObservableCollection 的 CollectionChanged 事件。然后,您可以通过 NotifyCollectionChangedEventArgs 确定是否添加或删除了项目。
更多信息,请参考以下文档 https://msdn.microsoft.com/en-us/library/ms653375(v=vs.110).aspx
最简单的答案是在使用您的 OnDeleteMenu
方法时,在删除之前存储变量:
private CatlougeData LastDeletedItem { get; set;}
public void OnDeleteMenu (object sender, EventArgs e)
{
var SelectedMenu = ((MenuItem)sender);
LastDeletedItem = (CatlougeData)SelectedMenu.CommandParameter;
items.Remove ((CatlougeData)SelectedMenu.CommandParameter);
}