Esempio n. 1
0
 private void addResultBook(ObservableCollection <Book> books, ObservableCollection <ViewModel.SearchResultBook> resultBooks)
 {
     foreach (var book in books)
     {
         var bookResult = new ViewModel.SearchResultBook(book);
         resultBooks.Add(bookResult);
     }
 }
Esempio n. 2
0
        ObservableCollection <ViewModel.SearchResultBook> GetSearchResultBookList(Book book)
        {
            ObservableCollection <ViewModel.SearchResultBook> resultList = new ObservableCollection <ViewModel.SearchResultBook>();

            {
                var bookResult = new ViewModel.SearchResultBook(book);
                resultList.Add(bookResult);
            }
            return(resultList);
        }
Esempio n. 3
0
        async private void InitList(BookShelf bookshelf, ObservableCollection <Book> books)
        {
            ResultBookList = new ObservableCollection <ViewModel.SearchResultBook>();
            addResultBook(books, ResultBookList);

            SearchResultVM = new SearchResultVM {
                BookResultList = ResultBookList
            };
            this.BindingContext = SearchResultVM;

            listBook.ItemSelected += async(sender, e) =>
            {
                if (e.SelectedItem == null)
                {
                    return;
                }
                ((ListView)sender).SelectedItem = null;
                ViewModel.SearchResultBook item = e.SelectedItem as ViewModel.SearchResultBook;

                //本棚に登録済みの場合は詳細を表示しない
                if (item != null && item.IsRegistBookShelf == false)
                {
                    await Navigation.PushAsync(new BookDetailPage(bookshelf, item.CreateBook(), item.IsRegistBookShelf));
                }
            };

            listBook.ItemAppearing += async(object sender, ItemVisibilityEventArgs e) => {
                // ObservableCollection の最後が ListView の Item と一致した時に ObservableCollection にデータを追加する。
                if (ResultBookList.Last() == e.Item as SearchResultBook)
                {
                    // ObservableCollection にデータを追加する処理
                    stack.IsVisible = true;
                    await AmazonSearch(SearchContext);     // 実際の処理を入れてください。

                    stack.IsVisible = false;
                }
            };

            SearchResultVM.CheckBooks(books);
        }