private void OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
        {
            if ((Math.Sign(e.Delta.Translation.Y) < 0 && this.SelectedIndex == this.Children.Count - 1))
            {
                e.Complete();
                return;
            }

            _current = _current ?? GetEligibleControl(e.Delta.Translation.Y);

            double deltaY = e.Delta.Translation.Y;
            double translateY = _current.GetTranslateY();
            _lastDeltaSign = Math.Sign(deltaY);

            double y = Math.Max(GetTopBound(), translateY + deltaY);
            y = Math.Min(0, y);
            _current.TranslateY(y);
        }
Esempio n. 2
0
        private void OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
        {
            if ((Math.Sign(e.Delta.Translation.Y) < 0 && this.SelectedIndex == this.Children.Count - 1))
            {
                e.Complete();
                return;
            }

            _current = _current ?? GetEligibleControl(e.Delta.Translation.Y);

            double deltaY     = e.Delta.Translation.Y;
            double translateY = _current.GetTranslateY();

            _lastDeltaSign = Math.Sign(deltaY);

            double y = Math.Max(GetTopBound(), translateY + deltaY);

            y = Math.Min(0, y);
            _current.TranslateY(y);
        }