private void ContainerItem_Loaded(object sender, RoutedEventArgs e) { var itemsPanel = (ItemsStackPanel)feeditems.ItemsPanelRoot; var itemContainer = (ListViewItem)sender; var itemIndex = feeditems.IndexFromContainer(itemContainer); var relativeIndex = itemIndex - itemsPanel.FirstVisibleIndex; Grid uc; if (itemContainer.ContentTemplateRoot as SwipeControl != null) { uc = (itemContainer.ContentTemplateRoot as SwipeControl).Content as Grid; } else { uc = itemContainer.ContentTemplateRoot as Grid; } if (itemContainer.Content != ViewModel.PersistedEpisode && itemIndex >= 0 && itemIndex >= itemsPanel.FirstVisibleIndex && itemIndex <= itemsPanel.LastVisibleIndex) { var itemVisual = ElementCompositionPreview.GetElementVisual(uc); ElementCompositionPreview.SetIsTranslationEnabled(uc, true); var staggerDelay = TimeSpan.FromMilliseconds(relativeIndex * 100); var offsetAnimation = VisualHelpers.CreateHorizontalOffsetAnimation(0.7, 150, staggerDelay.TotalSeconds); itemVisual.StartAnimation("Translation.X", offsetAnimation); var opacityAnimation = VisualHelpers.CreateOpacityAnimation(0.5); opacityAnimation.DelayBehavior = Windows.UI.Composition.AnimationDelayBehavior.SetInitialValueBeforeDelay; opacityAnimation.DelayTime = staggerDelay; itemVisual.StartAnimation("Opacity", opacityAnimation); } itemContainer.Loaded -= this.ContainerItem_Loaded; }