示例#1
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var tag = e.Parameter as string;
            await _vm.LoadMoviesAsync(tag);

            // Only worry about the connection animation when navigating back to this page.
            if (e.NavigationMode == NavigationMode.Back)
            {
                MovieGridView.Loaded += async(obj, args) =>
                {
                    var transitions = MovieGridView.ItemContainerTransitions.ToList();
                    MovieGridView.ItemContainerTransitions.Clear();

                    var animation = ConnectedAnimationService.GetForCurrentView().GetAnimation("fromDetailPoster");
                    if (animation != null)
                    {
                        var item = MovieGridView.Items[persistedItemIndex];
                        MovieGridView.ScrollIntoView(item);

                        // Small delay to give the view time to scroll into position before animating.
                        await Task.Delay(100);

                        await MovieGridView.TryStartConnectedAnimationAsync(animation, item, "PosterImage");
                    }

                    transitions.ForEach(t => MovieGridView.ItemContainerTransitions.Add(t));
                };
            }
        }
示例#2
0
        private void DataSourceBand()
        {
            var movieService = new MovieService();

            MovieGridView.DataSource   = movieService.GetMovies();
            MovieGridView.DataKeyNames = new string[] { "Id" };
            MovieGridView.DataBind();
        }
示例#3
0
        protected void UnauditedMovie()
        {
            var movieService = new MovieService();

            MovieGridView.DataSource   = movieService.UnauditedMovie();
            MovieGridView.DataKeyNames = new string[] { "Id" };
            MovieGridView.DataBind();
        }
示例#4
0
 protected void QueryMovie_Click(object sender, EventArgs e)
 {
     if (EmptyCheck())
     {
         string movieName    = MovieNameText.Text;
         var    movieService = new MovieService();
         MovieGridView.DataSource   = movieService.ShowMovie(movieName);
         MovieGridView.DataKeyNames = new string[] { "Id" };
         MovieGridView.DataBind();
     }
 }
示例#5
0
        private async void MovieGridView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var movie = e.ClickedItem as Movie;

            if (movie == null)
            {
                return;
            }

            persistedItemIndex = MovieGridView.Items.IndexOf(e.ClickedItem);

            var movieDetail = await _vm.GetMovieDetails(movie.Id);

            // Prepare connected animation to tie both poster images together.
            MovieGridView.PrepareConnectedAnimation("poster", movie, "PosterImage");

            // Finally navigate to detail page and suppress default navigation transitions.
            Frame.Navigate(typeof(MovieDetailPage), movieDetail, new SuppressNavigationTransitionInfo());
        }