示例#1
0
 private void OnMainGridViewItemClick(object sender, ItemClickEventArgs e)
 {
     if (MainGridView.ContainerFromItem(e.ClickedItem) is GridViewItem container)
     {
         _storeditem = container.Content as Photo;
         var animation = MainGridView.PrepareConnectedAnimation("ForwardConnectedAnimation", _storeditem, "PlaceImage");
         animation.IsScaleAnimationEnabled = true;
         animation.Configuration           = new BasicConnectedAnimationConfiguration();
         animation.Completed += (_sender, _e) =>
         {
             container.Opacity = 0.0d;
         };
     }
     Frame.Navigate(typeof(DetailView), _storeditem, new SuppressNavigationTransitionInfo());
 }
示例#2
0
        private async void MainGridView_Loaded(object sender, RoutedEventArgs e)
        {
            if (_storeditem != null)
            {
                MainGridView.ScrollIntoView(_storeditem, ScrollIntoViewAlignment.Default);
                MainGridView.UpdateLayout();

                ConnectedAnimation animation = ConnectedAnimationService.GetForCurrentView().GetAnimation("BackConnectedAnimation");
                if (animation != null)
                {
                    animation.IsScaleAnimationEnabled = true;
                    animation.Configuration           = new DirectConnectedAnimationConfiguration();
                    animation.Completed += (_sender, _e) =>
                    {
                        MainGridView.ContainerFromItem(_storeditem).SetValue(OpacityProperty, 1.0d);
                    };
                    await MainGridView.TryStartConnectedAnimationAsync(animation, _storeditem, "PlaceImage");
                }
            }
        }
示例#3
0
        private void ManageGridViewItemSelections()
        {
            foreach (var place in _places.SelectMany(p => p))
            {
                place.PropertyChanged += (s, e) =>
                {
                    var gridViewItem    = (GridViewItem)MainGridView.ContainerFromItem(place);
                    var selectionToggle = gridViewItem.FindDescendant <ToggleButton>();
                    var centerX         = (float)selectionToggle.ActualWidth / 2;
                    var centerY         = (float)selectionToggle.ActualHeight / 2;

                    if (place.IsSelected)
                    {
                        _placesToCompare.Add(place);
                        selectionToggle
                        .Offset(offsetX: -92.0f, offsetY: -50.0f)
                        .Scale(scaleX: 1.5f, scaleY: 1.5f, centerX: centerX, centerY: centerY)
                        .Start();
                    }
                    else
                    {
                        _placesToCompare.Remove(place);
                        selectionToggle
                        .Offset(offsetX: 0.0f, offsetY: 0.0f)
                        .Scale(scaleX: 1.0f, scaleY: 1.0f, centerX: centerX, centerY: centerY)
                        .Start();
                    }

                    if (_placesToCompare.Count >= 2)
                    {
                        foreach (var item in MainGridView.Items)
                        {
                            if (item is Place p && !p.IsSelected)
                            {
                                if (MainGridView.ContainerFromItem(item) is GridViewItem element)
                                {
                                    element.IsEnabled = false;
                                }
                            }
                        }

                        CommandBar.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        foreach (var item in MainGridView.Items)
                        {
                            if (MainGridView.ContainerFromItem(item) is GridViewItem element)
                            {
                                element.IsEnabled = true;
                            }
                        }

                        CommandBar.Visibility = Visibility.Collapsed;
                    }

                    MainGridView.IsItemClickEnabled = _placesToCompare.Count == 0;
                    Wonderbar.Visibility            = _placesToCompare.Count == 0 ? Visibility.Visible : Visibility.Collapsed;
                };
            }
        }