private void InitMoreInfoContentContainer(GridViewItem container)
        {
            if (MoreInfoContent == null)
            {
                return;
            }

            var point = container.TransformToVisual(this).TransformPoint(new Windows.Foundation.Point(0, 0));
            var x     = point.X - ((MoreInfoContent.Width - container.ActualWidth) / 2);
            var y     = point.Y - ((MoreInfoContent.Height - container.ActualHeight) / 2);

            x = Math.Max(x, 10);
            x = Math.Min(x, ActualWidth - MoreInfoContent.Width - 10);

            y = Math.Max(y, 10);
            y = Math.Min(y, ActualHeight - MoreInfoContent.Height - 10);

            Canvas.SetLeft(MoreInfoContent, x);
            Canvas.SetTop(MoreInfoContent, y);

            var centerX = (point.X + (container.ActualWidth / 2)) - x;
            var centerY = (point.Y + (container.ActualHeight / 2)) - y;

            VisualExtensions.SetCenterPoint(MoreInfoContent, new Vector3((float)centerX, (float)centerY, 0).ToString());
        }
Beispiel #2
0
        private void MoreInfoClicked(object sender, RoutedEventArgs e)
        {
            if (_moreInfoContent == null)
            {
                return;
            }

            var button = (Button)sender;
            var sample = button.DataContext as Sample;

            var container = button.FindAscendant <GridViewItem>();

            if (container == null)
            {
                return;
            }

            var point = container.TransformToVisual(this).TransformPoint(new Windows.Foundation.Point(0, 0));

            var x = point.X - ((_moreInfoContent.Width - container.ActualWidth) / 2);
            var y = point.Y - ((_moreInfoContent.Height - container.ActualHeight) / 2);

            x = Math.Max(x, 10);
            x = Math.Min(x, ActualWidth - _moreInfoContent.Width - 10);

            y = Math.Max(y, 10);
            y = Math.Min(y, ActualHeight - _moreInfoContent.Height - 10);

            Canvas.SetLeft(_moreInfoContent, x);
            Canvas.SetTop(_moreInfoContent, y);

            var centerX = (point.X + (container.ActualWidth / 2)) - x;
            var centerY = (point.Y + (container.ActualHeight / 2)) - y;

            VisualExtensions.SetCenterPoint(_moreInfoContent, new Vector3((float)centerX, (float)centerY, 0).ToString());

            // _samplePickerGridView.PrepareConnectedAnimation("sample_icon", sample, "SampleIcon");
            _moreInfoContent.DataContext = sample;
            _moreInfoCanvas.Visibility   = Visibility.Visible;

            // var animation = ConnectedAnimationService.GetForCurrentView().GetAnimation("sample_icon");
            // var result = animation.TryStart(_moreInfoImage);
        }
Beispiel #3
0
        private void MoreInfoClicked(object sender, RoutedEventArgs e)
        {
            if (MoreInfoContent == null)
            {
                return;
            }

            var button = (Button)sender;
            var sample = button.DataContext as Sample;

            var container = button.FindAscendant <GridViewItem>();

            if (container == null)
            {
                return;
            }

            var point = container.TransformToVisual(this).TransformPoint(new Windows.Foundation.Point(0, 0));

            var x = point.X - ((MoreInfoContent.Width - container.ActualWidth) / 2);
            var y = point.Y - ((MoreInfoContent.Height - container.ActualHeight) / 2);

            x = Math.Max(x, 10);
            x = Math.Min(x, ActualWidth - MoreInfoContent.Width - 10);

            y = Math.Max(y, 10);
            y = Math.Min(y, ActualHeight - MoreInfoContent.Height - 10);

            Canvas.SetLeft(MoreInfoContent, x);
            Canvas.SetTop(MoreInfoContent, y);

            var centerX = (point.X + (container.ActualWidth / 2)) - x;
            var centerY = (point.Y + (container.ActualHeight / 2)) - y;

            VisualExtensions.SetCenterPoint(MoreInfoContent, new Vector3((float)centerX, (float)centerY, 0).ToString());

            MoreInfoContent.DataContext = sample;
            MoreInfoCanvas.Visibility   = Visibility.Visible;
        }