Ejemplo n.º 1
0
        protected bool IsExceededRange(ScrollDirections scrollDirections, Vector absoluteMove)
        {
            var handleRange = RaiseGetHandleRange() ?? HANDLE_RANGE;

            return((scrollDirections.IsHorizontal && Math.Abs(absoluteMove.X) > handleRange) ||
                   (scrollDirections.IsVertical && Math.Abs(absoluteMove.Y) > handleRange));
        }
Ejemplo n.º 2
0
        private void MouseDown(object sender, MouseButtonEventArgs e)
        {
            var scrollByContent = RaiseGetScrollByContent();

            if (!scrollByContent)
            {
                return;
            }

            if (e.Source != e.OriginalSource &&                                                                              // e.Source is System.Windows.Controls.ScrollViewer &&
                (e.OriginalSource is System.Windows.Shapes.Rectangle || e.OriginalSource is System.Windows.Controls.Border)) //?
            {
                return;
            }

            ScrollDirections = RaiseGetScrollDirections();
            if (ScrollDirections.IsHorizontal || ScrollDirections.IsVertical)
            {
                SaveAsActive(e);
                _currentIndex = ActiveTouchManagers.Count - 1;

                _isMouseCaptured    = false;
                _isContentCaptured  = false;
                _isFirst            = true;
                AllScrollDirections = null;
                InitPositionKoef();
                MouseDownPosition = GetMousePosition(e);

                // CaptureMouse if I first
                if (_currentIndex == 0)
                {
                    CaptureMouse();
                }
            }
        }