public static void RefreshSearchResultList(OverAll.SearchParam param) { if (SearchResults.Count > 0) { SearchResults.Peek().PauseLoading(); } SearchResults.Push(new SearchResultIllustsCollection(param.Word, param.SearchTarget, param.Sort, param.Duration)); }
private async void TxtWord_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args) { if (string.IsNullOrWhiteSpace(txtWord.Text)) { return; } if (txtWord.Text.Trim() != lastWord || cbSearchTarget.SelectedIndex != lastSearchTarget || cbSort.SelectedIndex != lastSort || cbDuration.SelectedIndex != lastDuration) { if (resultFrame.Content != null) { (resultFrame.Content as WaterfallPage).ItemsSource.CollectionChanged -= ItemsSource_CollectionChanged; } var param = new OverAll.SearchParam() { Word = txtWord.Text.Trim() }; switch (cbSearchTarget.SelectedIndex) { case 0: param.SearchTarget = "partial_match_for_tags"; break; case 1: param.SearchTarget = "exact_match_for_tags"; break; case 2: param.SearchTarget = "title_and_caption"; break; } switch (cbSort.SelectedIndex) { case 0: param.Sort = "date_desc"; break; case 1: param.Sort = "date_asc"; break; } switch (cbDuration.SelectedIndex) { case 0: param.Duration = null; break; case 1: param.Duration = "within_last_day"; break; case 2: param.Duration = "within_last_week"; break; case 3: param.Duration = "within_last_month"; break; } OverAll.RefreshSearchResultList(param); resultFrame.Navigate(typeof(WaterfallPage), WaterfallPage.ListContent.SearchResult, App.FromRightTransitionInfo); (resultFrame.Content as WaterfallPage).ItemsSource.CollectionChanged += ItemsSource_CollectionChanged; } storyFade.Begin(); await Task.Delay(200); grdSearchPanel.Visibility = Visibility.Collapsed; if (txtWord.Text.Trim() != lastWord || cbSearchTarget.SelectedIndex != lastSearchTarget || cbSort.SelectedIndex != lastSort || cbDuration.SelectedIndex != lastDuration) { lastWord = txtWord.Text.Trim(); lastSearchTarget = cbSearchTarget.SelectedIndex; lastSort = cbSort.SelectedIndex; lastDuration = cbDuration.SelectedIndex; searchProgressRing.IsActive = true; searchProgressRing.Visibility = Visibility.Visible; } }