private async void AutoSuggestBox_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args) { if (args.ChosenSuggestion != null) { //从提示框中选择某一项时触发 } else { //用户在输入时敲回车或者点击右边按钮确认输入时触发 if (searchMap.ContainsKey(args.QueryText)) { LoadToOther.Visibility = Windows.UI.Xaml.Visibility.Visible; MovieItemDetail data = await TimeAPIService.GetMovieDetail(searchMap[args.QueryText]); LoadToOther.Visibility = Windows.UI.Xaml.Visibility.Collapsed; NavigationService.Navigate(typeof(MovieDetailViewModel).FullName, data, new SuppressNavigationTransitionInfo()); } else { searchMap = await TimeAPIService.GetMoviesTitleList(args.QueryText); sender.ItemsSource = searchMap.Keys; } } }
/// <summary> /// 初始化数据 /// </summary> /// <returns></returns> public async Task LoadData() { if (MovieItems.Count == 0) { MovieItems.Clear(); var data = await TimeAPIService.GetComingMovies(); if (data.Count == 0) { return; } foreach (var movie in data) { // 只添加具有封面的电影 if (movie.Image != "") { MovieItems.Add(movie); } } // 刷新页面 RaisePropertyChanged("EmptyItem"); // 添加磁贴 string title = ResourceLoader.GetForCurrentView().GetString("ComingMoviePage_TextTitle/Text"); string date = ResourceLoader.GetForCurrentView().GetString("MovieDetailPage_TextDateHelp/Text"); string look = ResourceLoader.GetForCurrentView().GetString("ComingMovieViewModel_Look/Text"); Singleton <LiveTileService> .Instance.AddTileToQueue(title, string.Empty, date, MovieItems[0].Date, look, MovieItems[0]); } }
public async Task SyncData() { Collections = new ObservableCollection <MovieItem>(Singleton <MyCollectService> .Instance.Collections); _history = new Dictionary <string, double>(Singleton <MyCollectService> .Instance.History); //获得即将上映电影进行筛选 var data = await TimeAPIService.GetComingMovies(); if (data.Count == 0) { return; } var list = new List <KeyValuePair <MovieItem, double> >(); double normOfHistory2 = 0; foreach (var item in _history.Values) { normOfHistory2 += item * item; } foreach (var movie in data) { double normOfMovie2 = 0; double dotProduct = 0; string[] types = movie.MovieType.Split(new char[] { ' ' }); foreach (string type in types) { if (type.Length != 0 && _movieType.Contains(type)) { normOfMovie2++; if (_history.ContainsKey(type)) { dotProduct += _history[type]; } } } double result = dotProduct / (normOfMovie2 * normOfHistory2); list.Add(new KeyValuePair <MovieItem, double>(movie, result)); } list.Sort((pair1, pair2) => pair2.Value.CompareTo(pair1.Value)); int count = 0; var guessCollection = new ObservableCollection <MovieItem>(); foreach (var item in list) { // 只添加具有封面的电影 if (item.Key.Image != "" && Collections.Where(i => i.ID == item.Key.ID).ToList().Count == 0) { count++; guessCollection.Add(item.Key); if (count == 10) { break; } } } GuessLike = guessCollection; }
private async void AutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args) { if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput) { if (sender.Text.Length == 0) { sender.ItemsSource = null; } else { searchMap = await TimeAPIService.GetMoviesTitleList(sender.Text); sender.ItemsSource = searchMap.Keys; } } }
private async void LocationMovieList_ItemClick(object sender, ItemClickEventArgs e) { LocationMovieList.IsEnabled = false; LoadToOther.Visibility = Visibility.Visible; MovieItemDetail data; string movieId = (e.ClickedItem as MovieItemNow).ID; if (TimeAPIService.GetedDetail != null && TimeAPIService.GetedDetail.ContainsKey(movieId)) { data = TimeAPIService.GetedDetail[movieId]; } else { data = await TimeAPIService.GetMovieDetail(movieId); } LocationMovieList.PrepareConnectedAnimation("Image", e.ClickedItem as MovieItemNow, "ImageMovie"); NavigationService.Navigate(typeof(MovieDetailViewModel).FullName, data, new SuppressNavigationTransitionInfo()); }