private async void FlipView_SelectionChanged(object sender, SelectionChangedEventArgs e) { Debug.WriteLine($"Index={ImagesViewModel.SelectedIndex}, {(sender as FlipView).SelectedIndex}"); FlipView.UpdateLayout(); if (FlipView.SelectedIndex == indexFromLastPage && readyForConnectedAnimation) { HandleConnectedAnimation(); } // Increamental load when needed (e.g. last 3) if (ImagesViewModel.SelectedIndex >= ImagesViewModel.Images.Count - 10) { uint newItemCount = 0; while (ImagesViewModel.Posts != null && ImagesViewModel.Posts.HasMoreItems && newItemCount == 0) { var result = await ImagesViewModel.Posts.LoadMoreItemsAsync(10); newItemCount = result.Count; } } if (ImagesViewModel.SelectedImageViewModel != null) { var tasks = new List <Task>(); tasks.Add(ImagesViewModel.SelectedImageViewModel.UpdateIsFavorited()); tasks.Add(ImagesViewModel.SelectedImageViewModel.UpdateComments()); //await Task.WhenAll(tasks); } }
private void FlipView_Loaded(object sender, RoutedEventArgs e) { FlipView.UpdateLayout(); if (FlipView.SelectedIndex == indexFromLastPage) { HandleConnectedAnimation(); } }