private void ThumbnailList_Loaded(object sender, RoutedEventArgs args) { if (_currentTransition != null) { DetailsInfo info = (DetailsInfo)_currentTransition.Payload; GridViewItem item = (GridViewItem)ThumbnailList.ContainerFromItem(info.thumbanil); CompositionImage image = VisualTreeHelperExtensions.GetFirstDescendantOfType <CompositionImage>(item); ScrollViewer scrollViewer = VisualTreeHelperExtensions.GetFirstDescendantOfType <ScrollViewer>(ThumbnailList); // Kick off the transition now that the page has loaded _currentTransition.Start(MyGrid, image, scrollViewer, ThumbnailList); } }
private void ThumbnailList_ItemClick(object sender, ItemClickEventArgs e) { ListViewItem listItem = (ListViewItem)ThumbnailList.ContainerFromItem(e.ClickedItem); CompositionImage image = listItem.ContentTemplateRoot.GetFirstDescendantOfType <CompositionImage>(); // Flip each thumbnail as it's clicked SpriteVisual sprite = image.SpriteVisual; sprite.RotationAxis = new Vector3(1, 0, 0); sprite.CenterPoint = new Vector3(sprite.Size.X / 2, sprite.Size.Y / 2, 0); ScalarKeyFrameAnimation rotateAnimation = _compositor.CreateScalarKeyFrameAnimation(); rotateAnimation.InsertKeyFrame(0, 0); rotateAnimation.InsertKeyFrame(1, 360); rotateAnimation.Duration = TimeSpan.FromSeconds(2); sprite.StartAnimation("RotationAngleInDegrees", rotateAnimation); }