繁体   English   中英

Windows Phone 8隐藏和显示偏执狂列表中的按钮

[英]windows phone 8 hide and show buttons in the lists in paranoma

我正在制作图书应用。 我在全景图中有new releases清单和favorites清单。 现在,在new releases列表中的每条记录旁边,都有一个“ add to favorite按钮,该按钮可以在单击该特定书本时将其添加到favorite列表中,然后add to favourite该特定的“ add to favourite按钮。

favorite列表的每条记录旁边都有一个“删除”按钮。

问题。

现在,当在“ favourite列表中单击“删除我”按钮(任何特定记录的按钮)时,建议的策略是再次在被实时删除的newreleases列表中再次显示“ add to favourite按钮。

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

new releasesfavorites列表中的每个项目上分配一个唯一的ID,因此每个项目在列表中加载时都有一个唯一的ID,无论是new releases还是favorites

当您点击add to favorites ,一切都按您所说的进行。 现在,当您点击“ remove from favorites ”时,使用Listbox.SelectedItem属性检索该ListItem的唯一ID(我认为您的ObservableCollectionBook.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按钮的特定列表项。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM