Пример #1
0
        private void BtnMRAddSnapPoint_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                double offset   = Convert.ToDouble(txtMRSnapPointOffset.Text);
                double interval = Convert.ToDouble(txtMRSnapPointInterval.Text);
                double start    = Convert.ToDouble(txtMRSnapPointStart.Text);
                double end      = Convert.ToDouble(txtMRSnapPointEnd.Text);
                RepeatedScrollSnapPoint newSnapPoint = new RepeatedScrollSnapPoint(offset, interval, start, end, (ScrollSnapPointsAlignment)cmbMRSnapPointAlignment.SelectedIndex);
                Color fillColor = GetNewColor();
                ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor);
                markupScroller.VerticalSnapPoints.Add(newSnapPoint);

                double        value  = GetFirstRepeatedSnapPoint(offset, interval, start);
                List <double> values = new List <double>();

                while (value <= end)
                {
                    values.Add(value);
                    value += interval;
                }

                FillSnapPoint(values, start, end, fillColor);
                FixConsolidatedView();
            }
            catch (Exception ex)
            {
                this.fullLogs.Add(ex.ToString());
                txtExceptionReport.Text = ex.ToString();
            }
        }
Пример #2
0
        private void BtnORAddSnapPoint_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                double offset   = Convert.ToDouble(txtORSnapPointOffset.Text);
                double interval = Convert.ToDouble(txtORSnapPointInterval.Text);
                double range    = Convert.ToDouble(txtORApplicableRange.Text);
                double start    = Convert.ToDouble(txtORSnapPointStart.Text);
                double end      = Convert.ToDouble(txtORSnapPointEnd.Text);

                RepeatedScrollSnapPoint newSnapPoint = new RepeatedScrollSnapPoint(offset, interval, start, end, range, ScrollSnapPointsAlignment.Near);
                Color fillColor = GetNewColor();
                ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor);
                markupScroller.VerticalSnapPoints.Add(newSnapPoint);

                double value = GetFirstRepeatedSnapPoint(offset, interval, start);

                int minColumn = FillSnapPoint(new List <double>(), start, end, fillColor);
                while (value <= end)
                {
                    FillSnapPoint(new List <double> {
                        value
                    }, Math.Max(start, value - range), Math.Min(end, value + range), fillColor, minColumn);
                    value += interval;
                }
                FixConsolidatedView();
            }
            catch (Exception ex)
            {
                this.fullLogs.Add(ex.ToString());
                txtExceptionReport.Text = ex.ToString();
            }
        }
Пример #3
0
        private void ScrollerTestHooks_ContentLayoutOffsetYChanged(Scroller sender, object args)
        {
            float contentLayoutOffsetY = 0.0f;

            ScrollerTestHooks.GetContentLayoutOffsetY(sender, out contentLayoutOffsetY);

            txtScrollerContentLayoutOffsetY.Text = contentLayoutOffsetY.ToString();
        }
        private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args)
        {
            if (chkLogScrollerEvents.IsChecked == true)
            {
                ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args);

                AppendAsyncEventMessage("ScrollCompleted OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result);
            }
        }
Пример #5
0
        private void Scroller_ZoomCompleted(Scroller sender, ZoomCompletedEventArgs args)
        {
            ScrollerViewChangeResult result = ScrollerTestHooks.GetZoomCompletedResult(args);

            this.fullLogs.Add(sender.Name + " ZoomCompleted ZoomFactorChangeId=" + args.ZoomInfo.ZoomFactorChangeId + ", Result=" + result);

            if (this.scroller52ZoomFactorChangeId == args.ZoomInfo.ZoomFactorChangeId)
            {
                this.txtResetStatus.Text = "Views reset";
            }
        }
Пример #6
0
 private void BtnSetZoomFactorChangeVelocityParameters_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         ScrollerTestHooks.SetZoomFactorChangeVelocityParameters(
             Convert.ToInt32(txtZoomFactorChangeMillisecondsPerUnit.Text),
             Convert.ToInt32(txtZoomFactorChangeMinMilliseconds.Text),
             Convert.ToInt32(txtZoomFactorChangeMaxMilliseconds.Text));
     }
     catch
     {
     }
 }
 private void BtnSetOffsetsChangeVelocityParameters_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         ScrollerTestHooks.SetOffsetsChangeVelocityParameters(
             Convert.ToInt32(txtOffsetsChangeMillisecondsPerUnit.Text),
             Convert.ToInt32(txtOffsetsChangeMinMilliseconds.Text),
             Convert.ToInt32(txtOffsetsChangeMaxMilliseconds.Text));
     }
     catch (Exception ex)
     {
         tbException.Text = ex.ToString();
     }
 }
        private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args)
        {
            string           senderId = "." + sender.Name;
            FrameworkElement parent   = VisualTreeHelper.GetParent(sender) as FrameworkElement;

            if (parent != null)
            {
                senderId = parent.Name + senderId;
            }

            ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args);

            this.fullLogs.Add(senderId + " ScrollCompleted. OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result);
        }
Пример #9
0
 private void FixConsolidatedView()
 {
     consolidatedView.Children.Clear();
     foreach (ScrollSnapPointBase snapPoint in ScrollerTestHooks.GetConsolidatedVerticalScrollSnapPoints(markupScroller))
     {
         Vector2 zone = ScrollerTestHooks.GetVerticalSnapPointActualApplicableZone(markupScroller, snapPoint);
         zone.X = Math.Max(0, zone.X);
         zone.Y = Math.Min(snapPointColumnHeight, zone.Y);
         Rectangle rangeRectangle = new Rectangle();
         rangeRectangle.Width             = snapPointColumnWidth - 1;
         rangeRectangle.Height            = zone.Y - zone.X;
         rangeRectangle.Margin            = new Thickness(0, zone.X, 0, 0);
         rangeRectangle.Fill              = new SolidColorBrush(ScrollerTestHooks.GetSnapPointVisualizationColor(snapPoint));
         rangeRectangle.VerticalAlignment = VerticalAlignment.Top;
         consolidatedView.Children.Add(rangeRectangle);
     }
 }
        private void Scroller_ZoomCompleted(Scroller sender, ZoomCompletedEventArgs args)
        {
            string           senderId = "." + sender.Name;
            FrameworkElement parent   = VisualTreeHelper.GetParent(sender) as FrameworkElement;

            if (parent != null)
            {
                senderId = parent.Name + senderId;
            }

            ScrollerViewChangeResult result = ScrollerTestHooks.GetZoomCompletedResult(args);

            this.fullLogs.Add(senderId + " ZoomCompleted. ZoomFactorChangeId=" + args.ZoomInfo.ZoomFactorChangeId + ", Result=" + result);

            if (args.ZoomInfo.ZoomFactorChangeId == scrollViewer52ZoomFactorChangeId)
            {
                this.txtResetStatus.Text         = "Views reset";
                scrollViewer52ZoomFactorChangeId = -1;
            }
        }
Пример #11
0
        private void BtnMIAddSnapPoint_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                double          value        = Convert.ToDouble(txtMISnapPointValue.Text);
                ScrollSnapPoint newSnapPoint = new ScrollSnapPoint(value, (ScrollSnapPointsAlignment)cmbMISnapPointAlignment.SelectedIndex);
                Color           fillColor    = GetNewColor();
                ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor);
                markupScroller.VerticalSnapPoints.Add(newSnapPoint);

                FillSnapPoint(new List <double> {
                    value
                }, value, value, fillColor);
                FixConsolidatedView();
            }
            catch (Exception ex)
            {
                this.fullLogs.Add(ex.ToString());
                txtExceptionReport.Text = ex.ToString();
            }
        }
        private void BtnOIAddSnapPoint_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                double value = Convert.ToDouble(txtOISnapPointValue.Text);
                double range = Convert.ToDouble(txtOIApplicableRange.Text);
                ScrollerSnapPointBase newSnapPoint = new ScrollerSnapPointIrregular(value, range, ScrollerSnapPointAlignment.Near);
                Color fillColor = GetNewColor();
                ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor);
                markupScroller.VerticalSnapPoints.Add(newSnapPoint);

                FillSnapPoint(new List <double> {
                    value
                }, (value - range), (value + range), fillColor);
                FixConsolidatedView();
            }
            catch (Exception ex)
            {
                this.fullLogs.Add(ex.ToString());
                txtExceptionReport.Text = ex.ToString();
            }
        }
        public ScrollerPage()
        {
#if !BUILD_WINDOWS
            LogController.InitializeLogging();
#endif

            this.InitializeComponent();

            navigateToSimpleContents.Click                += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollersWithSimpleContentsPage), 0); };
            navigateToDynamic.Click                       += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerDynamicPage), 0); };
            navigateToExpressionAnimationSources.Click    += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerExpressionAnimationSourcesPage), 0); };
            navigateToChainingAndRailing.Click            += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerChainingAndRailingPage), 0); };
            navigateToStackPanelAnchoring.Click           += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerStackPanelAnchoringPage), 0); };
            navigateToRepeaterAnchoring.Click             += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerRepeaterAnchoringPage), 0); };
            navigateToSnapPoints.Click                    += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerSnapPointsPage), 0); };
            navigateToBringIntoView.Click                 += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerBringIntoViewPage), 0); };
            navigateToManipulationMode.Click              += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerManipulationModePage), 0); };
            navigateToAccessibility.Click                 += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerAccessibilityPage), 0); };
            navigateToSimpleScrollControllers.Click       += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerWithSimpleScrollControllersPage), 0); };
            navigateToCompositionScrollControllers.Click  += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerWithCompositionScrollControllersPage), 0); };
            navigateToBiDirectionalScrollController.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerWithBiDirectionalScrollControllerPage), 0); };
            navigateToLeakDetection.Click                 += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerLeakDetectionPage), 0); };

            try
            {
                int millisecondsPerUnit;
                int minMilliseconds;
                int maxMilliseconds;

                ScrollerTestHooks.GetOffsetsChangeVelocityParameters(
                    out millisecondsPerUnit,
                    out minMilliseconds,
                    out maxMilliseconds);

                txtOffsetsChangeMillisecondsPerUnit.Text = millisecondsPerUnit.ToString();
                txtOffsetsChangeMinMilliseconds.Text     = minMilliseconds.ToString();
                txtOffsetsChangeMaxMilliseconds.Text     = maxMilliseconds.ToString();

                ScrollerTestHooks.GetZoomFactorChangeVelocityParameters(
                    out millisecondsPerUnit,
                    out minMilliseconds,
                    out maxMilliseconds);

                txtZoomFactorChangeMillisecondsPerUnit.Text = millisecondsPerUnit.ToString();
                txtZoomFactorChangeMinMilliseconds.Text     = minMilliseconds.ToString();
                txtZoomFactorChangeMaxMilliseconds.Text     = maxMilliseconds.ToString();

                switch (ScrollerTestHooks.MouseWheelDeltaForVelocityUnit)
                {
                case 15:
                    cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 0;
                    break;

                case 30:
                    cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 1;
                    break;

                case 60:
                    cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 2;
                    break;

                case 90:
                    cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 3;
                    break;

                case 120:
                    cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 4;
                    break;
                }

                txtMouseWheelInertiaDecayRate.Text = ScrollerTestHooks.MouseWheelInertiaDecayRate.ToString();
                txtMouseWheelScrollLines.Text      = ScrollerTestHooks.MouseWheelScrollLines.ToString();
                txtMouseWheelScrollChars.Text      = ScrollerTestHooks.MouseWheelScrollChars.ToString();

                chkIsInteractionTrackerPointerWheelRedirectionEnabled.IsChecked = ScrollerTestHooks.IsInteractionTrackerPointerWheelRedirectionEnabled;
            }
            catch (Exception ex)
            {
                tbException.Text = ex.ToString();
            }
        }
        public void CanShareSnapPointsInMultipleCollections()
        {
            Scroller scroller1 = null;
            Scroller scroller2 = null;
            Scroller scroller3 = null;

            ScrollSnapPoint scrollSnapPoint1 = null;
            ScrollSnapPoint scrollSnapPoint2 = null;
            ScrollSnapPoint scrollSnapPoint3 = null;

            RepeatedScrollSnapPoint repeatedScrollSnapPoint1 = null;
            RepeatedScrollSnapPoint repeatedScrollSnapPoint2 = null;
            RepeatedScrollSnapPoint repeatedScrollSnapPoint3 = null;

            ZoomSnapPoint zoomSnapPoint1 = null;
            ZoomSnapPoint zoomSnapPoint2 = null;
            ZoomSnapPoint zoomSnapPoint3 = null;

            RunOnUIThread.Execute(() =>
            {
                scroller1 = new Scroller();
                scroller2 = new Scroller();
                scroller3 = new Scroller();

                scrollSnapPoint1 = new ScrollSnapPoint(snapPointValue: 10, alignment: ScrollSnapPointsAlignment.Near);
                scrollSnapPoint2 = new ScrollSnapPoint(snapPointValue: 20, alignment: ScrollSnapPointsAlignment.Near);
                scrollSnapPoint3 = new ScrollSnapPoint(snapPointValue: 30, alignment: ScrollSnapPointsAlignment.Near);

                repeatedScrollSnapPoint1 = new RepeatedScrollSnapPoint(offset:  10, interval: 10, start:  10, end: 100, alignment: ScrollSnapPointsAlignment.Near);
                repeatedScrollSnapPoint2 = new RepeatedScrollSnapPoint(offset: 200, interval: 10, start: 110, end: 200, alignment: ScrollSnapPointsAlignment.Near);
                repeatedScrollSnapPoint3 = new RepeatedScrollSnapPoint(offset: 300, interval: 10, start: 210, end: 300, alignment: ScrollSnapPointsAlignment.Near);

                zoomSnapPoint1 = new ZoomSnapPoint(snapPointValue: 1);
                zoomSnapPoint2 = new ZoomSnapPoint(snapPointValue: 2);
                zoomSnapPoint3 = new ZoomSnapPoint(snapPointValue: 3);

                scroller1.HorizontalSnapPoints.Add(scrollSnapPoint1);
                scroller1.HorizontalSnapPoints.Add(scrollSnapPoint2);
                scroller1.VerticalSnapPoints.Add(scrollSnapPoint1);
                scroller1.VerticalSnapPoints.Add(scrollSnapPoint3);

                scroller2.HorizontalSnapPoints.Add(repeatedScrollSnapPoint1);
                scroller2.HorizontalSnapPoints.Add(repeatedScrollSnapPoint2);
                scroller2.VerticalSnapPoints.Add(repeatedScrollSnapPoint1);
                scroller2.VerticalSnapPoints.Add(repeatedScrollSnapPoint3);

                scroller1.ZoomSnapPoints.Add(zoomSnapPoint1);
                scroller1.ZoomSnapPoints.Add(zoomSnapPoint2);
                scroller2.ZoomSnapPoints.Add(zoomSnapPoint1);
                scroller2.ZoomSnapPoints.Add(zoomSnapPoint3);

                scroller3.HorizontalSnapPoints.Add(scrollSnapPoint1);
                scroller3.HorizontalSnapPoints.Add(scrollSnapPoint1);
            });

            IdleSynchronizer.Wait();

            RunOnUIThread.Execute(() =>
            {
                Vector2 horizontalScrollSnapPoint11ApplicableZone = ScrollerTestHooks.GetHorizontalSnapPointActualApplicableZone(scroller1, scrollSnapPoint1);
                Vector2 verticalScrollSnapPoint11ApplicableZone   = ScrollerTestHooks.GetVerticalSnapPointActualApplicableZone(scroller1, scrollSnapPoint1);
                Log.Comment("horizontalScrollSnapPoint11ApplicableZone=" + horizontalScrollSnapPoint11ApplicableZone.ToString());
                Log.Comment("verticalScrollSnapPoint11ApplicableZone=" + verticalScrollSnapPoint11ApplicableZone.ToString());

                Vector2 horizontalScrollSnapPoint21ApplicableZone = ScrollerTestHooks.GetHorizontalSnapPointActualApplicableZone(scroller2, repeatedScrollSnapPoint1);
                Vector2 verticalScrollSnapPoint21ApplicableZone   = ScrollerTestHooks.GetVerticalSnapPointActualApplicableZone(scroller2, repeatedScrollSnapPoint1);
                Log.Comment("horizontalScrollSnapPoint21ApplicableZone=" + horizontalScrollSnapPoint21ApplicableZone.ToString());
                Log.Comment("verticalScrollSnapPoint21ApplicableZone=" + verticalScrollSnapPoint21ApplicableZone.ToString());

                Vector2 zoomSnapPoint11ApplicableZone = ScrollerTestHooks.GetZoomSnapPointActualApplicableZone(scroller1, zoomSnapPoint1);
                Vector2 zoomSnapPoint21ApplicableZone = ScrollerTestHooks.GetZoomSnapPointActualApplicableZone(scroller2, zoomSnapPoint1);
                Log.Comment("zoomSnapPoint11ApplicableZone=" + zoomSnapPoint11ApplicableZone.ToString());
                Log.Comment("zoomSnapPoint21ApplicableZone=" + zoomSnapPoint21ApplicableZone.ToString());

                int combinationCount11 = ScrollerTestHooks.GetHorizontalSnapPointCombinationCount(scroller1, scrollSnapPoint1);
                int combinationCount31 = ScrollerTestHooks.GetHorizontalSnapPointCombinationCount(scroller3, scrollSnapPoint1);
                Log.Comment("combinationCount11=" + combinationCount11);
                Log.Comment("combinationCount31=" + combinationCount31);

                Log.Comment("Expecting different applicable zones for ScrollSnapPoint in horizontal and vertical collections");
                Verify.AreEqual <float>(15.0f, horizontalScrollSnapPoint11ApplicableZone.Y);
                Verify.AreEqual <float>(20.0f, verticalScrollSnapPoint11ApplicableZone.Y);

                Log.Comment("Expecting identical applicable zones for RepeatedScrollSnapPoint in horizontal and vertical collections");
                Verify.AreEqual <float>(10.0f, horizontalScrollSnapPoint21ApplicableZone.X);
                Verify.AreEqual <float>(10.0f, verticalScrollSnapPoint21ApplicableZone.X);
                Verify.AreEqual <float>(100.0f, horizontalScrollSnapPoint21ApplicableZone.Y);
                Verify.AreEqual <float>(100.0f, verticalScrollSnapPoint21ApplicableZone.Y);

                Log.Comment("Expecting different applicable zones for ZoomSnapPoint in two zoom collections");
                Verify.AreEqual <float>(1.5f, zoomSnapPoint11ApplicableZone.Y);
                Verify.AreEqual <float>(2.0f, zoomSnapPoint21ApplicableZone.Y);

                Log.Comment("Expecting different combination counts for ScrollSnapPoint in two horizontal collections");
                Verify.AreEqual <int>(0, combinationCount11);
                Verify.AreEqual <int>(1, combinationCount31);
            });
        }
        private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args)
        {
            ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args);

            AppendAsyncEventMessage("ScrollCompleted Scroller=" + sender.Name + ", OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result);
        }
Пример #16
0
        private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args)
        {
            ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args);

            this.fullLogs.Add(sender.Name + " ScrollCompleted OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result);
        }