Ejemplo n.º 1
0
        private void ItemSwipeProgressInTouch(object sender, SwipeProgressEventArgs args)
        {
            Debug.WriteLine("Direction: " + args.SwipeDirection + " , Length: " + args.Cumulative + " , rate: " + args.CurrentRate);

            if (args.SwipeDirection == SwipeDirection.None)
            {
                return;
            }

            var panel = Getpanel(sender, args.SwipeDirection);

            SwipeMovePanel(panel, args);
        }
Ejemplo n.º 2
0
        void SwipeMovePanel(StackPanel panel, SwipeProgressEventArgs args)
        {
            var cumlative = Math.Abs(args.Cumulative);

            if (panel == null && cumlative - panel.ActualWidth >= 0)
            {
                return;
            }

            if (args.CurrentRate < 0.3 && cumlative - panel.ActualWidth > 0)
            {
                (panel.RenderTransform as TranslateTransform).X += args.Delta / 2;
            }
            else if (args.CurrentRate >= 0.3 && args.CurrentRate < 0.4 && cumlative - panel.ActualWidth > 0)
            {
                (panel.RenderTransform as TranslateTransform).X += args.Delta * 2;
            }
            else
            {
                (panel.RenderTransform as TranslateTransform).X = args.SwipeDirection == SwipeDirection.Left ? cumlative - panel.ActualWidth : panel.ActualHeight - cumlative;
            }
        }