0

ブックアプリを作っています。new releasesリストとfavoritesパノラマのリストを取得しました。new releasesリスト内のすべてのレコードの横に、add to favoriteクリックするとその特定の本をfavoriteリストに追加するボタンがあり、その特定のadd to favouriteボタンは削除されます。

私のfavoriteリストには、すべてのレコードの横に削除ボタンがあります。

問題。

リストの(特定のレコードの)削除ボタンをクリックすると、削除されたnewreleasesリストにリアルタイムでボタンfavouriteを再度表示するための推奨戦略は何ですか。add to favourite

1 つの方法は、アプリの最初のページであるため、リストを再度読み込むことです。これは正しい動きではないと思います。

4

2 に答える 2

1

new releasesとリストの各favoritesアイテムに一意の ID を割り当てます。そのため、リストにロードしている間、各アイテムには一意の ID が割り当てられnew releasesますfavorites

をタップするとadd to favorites、すべてがうまくいきます。をタップすると、そのusingプロパティremove from favoritesの一意の ID を取得します (私はあなたがクラスのコレクションであると考えていますListItemListbox.SelectedItemObservableCollectionBook.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これにより、ボタンを元に戻したい特定のリスト項目が変更されます。

于 2013-11-11T11:47:38.630 に答える