Пример #1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            _compositor = ElementCompositionPreview.GetElementVisual(this)?.Compositor;

            if (e.Parameter != null)
            {
                int.TryParse(e.Parameter.ToString(), out _animationDuration);
            }

            _gridview = ElementCompositionPreview.GetElementVisual(this);
            ApplyLighting();

            PhotoCollectionViewer.Loaded += async(o_, e_) =>
            {
                var connectedAnimation = ConnectedAnimationService
                                         .GetForCurrentView()
                                         .GetAnimation("Image");
                if (connectedAnimation != null)
                {
                    var item = PhotoCollectionViewer.Items[persistedItemIndex];
                    PhotoCollectionViewer.ScrollIntoView(item);
                    await PhotoCollectionViewer.TryStartConnectedAnimationAsync(
                        connectedAnimation,
                        item,
                        "Image"
                        );
                }
            };
        }
Пример #2
0
        private void PhotoCollectionViewer_ItemClick(object sender, ItemClickEventArgs e)
        {
            ConnectedAnimationService.GetForCurrentView().DefaultDuration = TimeSpan.FromSeconds(0.5);

            persistedItemIndex = PhotoCollectionViewer.Items.IndexOf(e.ClickedItem);
            PhotoCollectionViewer.PrepareConnectedAnimation("Image", e.ClickedItem, "Image");


            Canvas.SetZIndex(this, 1);
            var animation = _compositor.CreateScalarKeyFrameAnimation();

            animation.Target   = "Opacity";
            animation.Duration = TimeSpan.FromSeconds(0.6);
            animation.InsertKeyFrame(1, 0);
            ElementCompositionPreview.SetImplicitHideAnimation(this, animation);

            App.MainFrame.Navigate(typeof(ImageEditingPage), e.ClickedItem as Photo);
        }