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()); }
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); }
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; }