Windows Phone 8隐藏并显示全景列表中的按钮

时间:2013-11-11 07:48:52

标签: c# xaml windows-phone-8 windows-phone

我正在制作一本书应用程序。我在全景图中有new releases列表和favorites列表。现在,在new releases列表中的每个记录旁边都有一个add to favorite按钮,用于在点击后将该特定图书添加到favorite列表,然后删除该特定add to favourite按钮。

我的favorite列表在每条记录旁边都有删除按钮。

问题。

现在,当点击favourite列表中的删除我按钮(任意特定记录)时,建议的策略是再次显示新发布列表中的add to favourite按钮,该按钮是实时删除的。

一种方法是再次加载列表,我认为这不是正确的移动,因为它是应用程序的第一页。

2 个答案:

答案 0 :(得分:1)

对于new releasesfavorites列表中的每个项目,分配一个唯一ID。因此,每个项目在列表上加载时都具有唯一ID,无论是new releases还是{{1 }}

当你点击favorites时,一切顺利,就像你说的那样。 现在,当您点按add to favorites时,使用remove from favorites属性检索ListItem的唯一ID(我正在考虑您的Listbox.SelectedItem是该类{{1}的集合}

ObservableCollection

使用Book.cs中的SetFavoriteIcon通过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; } } } 按钮的一个特定列表项。

答案 1 :(得分:0)

对两个列表中的项目使用相同的ItemViewModel。在其上添加一个IsFavorite bool通知属性,并在项目被收藏或不受欢迎时切换它。然后在新版本列表中仅在IsFavorite为false时显示AddToFavorites按钮,并为收藏夹列表执行相反的操作。另外在名为AddToFavoritesCommand和RemoveFromFavoritesCommand的ItemViewModel中添加两个命令,它们将从newreleases / favorites列表中删除/添加当前项并分别切换IsFavorite标志。