private void HoldGesture(object sender, GestureEventArgs e) { if (!IsEnabled) return; IsActive = true; _cardView = sender as CardView; if (_cardView == null) { IsActive = false; } else { var selected = (CardViewModel)_cardView.DataContext; var scrollOffset = new Point(_scrollViewer.HorizontalOffset, _scrollViewer.VerticalOffset); _originalRelativePosition = _cardView.GetRelativePositionIn(_context, scrollOffset); // Fade everything out //if (_context != null) // _context.Animate(1.0, 0.7, UIElement.OpacityProperty, 300, 0); if (_context != null) FadeCards(_context, selected); // Popout the selected card // PopoutCard(_cardView, _draggedImage, _originalRelativePosition, scrollOffset); // We can allow children to listen to events now EnableChildInteractions(); } }
public static Value Create(string id, FrameworkElement element, FrameworkElement relativeTo) { var position = element.GetRelativePositionIn(relativeTo); var rect = new Rect(position, element.RenderSize); return new Value { Id = id, Position = rect }; }
private void HoldStarted(object sender, GestureEventArgs e) { if (!IsEnabled) return; _cardView = sender as CardView; if (_cardView == null) { IsActive = false; } else { var scrollOffset = new Point(_scrollViewer.HorizontalOffset, _scrollViewer.VerticalOffset); var originalPosition = _cardView.GetRelativePositionIn(_itemsControl, scrollOffset); _initialIndex = _currentIndex = _pointIndex.IndexOf(originalPosition); } }