private void OnPointerMoved(object sender, Touch.PointerEventArgs e) { if (_currentScrollItem != null) { double dx = e.Position.X - _lastPosition.X; double dy = e.Position.Y - _lastPosition.Y; if (!_currentScrollItem.HorizontallyScrollable) { dx = 0; } if (!_currentScrollItem.VerticallyScrollable) { dy = 0; } Windows.UI.Xaml.Automation.ScrollAmount h = Windows.UI.Xaml.Automation.ScrollAmount.NoAmount; Windows.UI.Xaml.Automation.ScrollAmount v = Windows.UI.Xaml.Automation.ScrollAmount.NoAmount; if (dx < 0) { h = Windows.UI.Xaml.Automation.ScrollAmount.SmallIncrement; } else if (dx > 0) { h = Windows.UI.Xaml.Automation.ScrollAmount.SmallDecrement; } if (dy < 0) { v = Windows.UI.Xaml.Automation.ScrollAmount.SmallIncrement; } else if (dy > 0) { v = Windows.UI.Xaml.Automation.ScrollAmount.SmallDecrement; } _currentScrollItem.Scroll(h, v); } _lastPosition = e.Position; }
private void OnPointerDown(object sender, Touch.PointerEventArgs e) { _currentScrollItem = FindElementsToInvoke(e.Position); _lastPosition = e.Position; }
private void OnPointerUp(object sender, Touch.PointerEventArgs e) { _currentScrollItem = null; }