protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == NavigationMode.Back) { if (_persistedItemIndex >= 0) { HomeFeedGrid.Loaded += async(a, s) => { var item = HomeFeedGrid.Items[_persistedItemIndex]; if (item != null) { HomeFeedGrid.ScrollIntoView(item); var connectedAnimation = ConnectedAnimationService .GetForCurrentView() .GetAnimation("podimageback"); if (connectedAnimation != null) { await HomeFeedGrid.TryStartConnectedAnimationAsync( connectedAnimation, item, "Image"); } } }; } } else { _persistedItemIndex = -1; } ConfigureComposition(); }
private void HomeFeedGrid_ItemClick(object sender, ItemClickEventArgs e) { var selectedFeed = e.ClickedItem as Feed; _persistedItemIndex = HomeFeedGrid.Items.IndexOf(e.ClickedItem); HomeFeedGrid.PrepareConnectedAnimation("PodcastImageBorder", e.ClickedItem, "Image"); ViewModel.NavigateToFeed(selectedFeed); }