对于new releases
andfavorites
列表中的每个项目,分配一个唯一的 id。因此,每个项目在加载到列表时都有一个唯一的 id,无论是它new releases
还是favorites
.
当你点击时add to favorites
,一切都如你所说。现在,当您点击时remove from favorites
,检索该ListItem
使用Listbox.SelectedItem
属性的唯一 ID(我认为您ObservableCollection
是该类的集合Book.cs
private void favoritesListTap(object sender, System.Windows.Input.GestureEventArgs e)
{
Book data = (sender as ListBox).SelectedItem as Book;
int selectedid = data.unique_id;
//Now find that item in the `new releases` list which has the same unique_id as the one we just retrived
foreach( Book bk in newleases.Items)
{
if( bk.unique_id == selectedid)
{
bk.SetFavoriteIcon = "addtofav.png";
break;
}
}
}
使用 Book.cs 中的 SetFavoriteIcon 设置您的图标和样式与INotifyPropertyChanged
事件。这将更改您希望add to favorite
返回按钮的特定列表项。