private void Scroller_ViewChanged(Scroller sender, object args)
 {
     this.txtScrollerHorizontalOffset.Text = sender.HorizontalOffset.ToString();
     this.txtScrollerVerticalOffset.Text   = sender.VerticalOffset.ToString();
     this.txtScrollerZoomFactor.Text       = sender.ZoomFactor.ToString();
     this.fullLogs.Add(sender.Name + " ViewChanged H=" + this.txtScrollerHorizontalOffset.Text + ", V=" + this.txtScrollerVerticalOffset.Text + ", S=" + this.txtScrollerZoomFactor.Text);
 }
Exemplo n.º 2
0
 private void Scroller_StateChanged(Scroller sender, object args)
 {
     if (chkLogScrollerEvents.IsChecked == true)
     {
         AppendAsyncEventMessage("StateChanged " + sender.State.ToString());
     }
 }
Exemplo n.º 3
0
        public void VerifySimpleCollectionScenario()
        {
            var objects = new Dictionary <string, WeakReference>();

            RunOnUIThread.Execute(() =>
            {
                var rating        = new RatingControl();
                objects["Rating"] = new WeakReference(rating);

                var colorPicker        = new ColorPicker();
                objects["ColorPicker"] = new WeakReference(colorPicker);

                var navigationView        = new NavigationView();
                objects["NavigationView"] = new WeakReference(navigationView);

                var parallaxView        = new ParallaxView();
                objects["ParallaxView"] = new WeakReference(parallaxView);

                var scroller        = new Scroller();
                objects["Scroller"] = new WeakReference(scroller);

                if (PlatformConfiguration.IsOsVersionGreaterThanOrEqual(OSVersion.Redstone2))
                {
                    var scrollerView        = new ScrollerView();
                    objects["ScrollerView"] = new WeakReference(scrollerView);
                }
            });
            IdleSynchronizer.Wait();
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            RunOnUIThread.Execute(() => CheckLeaks(objects));
        }
        public EventCycleTest(bool addToTree = true)
        {
            _rating = new RatingControl();
            _rating.ValueChanged += OnRatingValueChanged;
            if (addToTree)
            {
                Children.Add(_rating);
            }

            _colorPicker = new ColorPicker();
            _colorPicker.ColorChanged += OnColorPickerColorChanged;
            if (addToTree)
            {
                Children.Add(_colorPicker);
            }

            _navigationView = new NavigationView();
            _navigationView.SelectionChanged += OnNavigationViewSelectionChanged;
            if (addToTree)
            {
                Children.Add(_navigationView);
            }

            var item = new NavigationViewItem();

            _navigationView.MenuItems.Add(item);

            _scroller              = new Scroller();
            _scroller.ViewChanged += OnScrollerViewChanged;
            if (addToTree)
            {
                Children.Add(_scroller);
            }
        }
Exemplo n.º 5
0
 private void Scroller_ExtentChanged(Scroller sender, object args)
 {
     if (chkLogScrollerEvents.IsChecked == true)
     {
         AppendAsyncEventMessage("ExtentChanged ExtentWidth=" + sender.ExtentWidth.ToString() + ", ExtentHeight=" + sender.ExtentHeight.ToString());
     }
 }
        private void Scroller_BringingIntoView(Scroller sender, ScrollerBringingIntoViewEventArgs args)
        {
            string asyncEventMessage = "BringingIntoView Scroller=" + sender.Name;

            asyncEventMessage += ", TargetHorizontalOffset=" + args.TargetHorizontalOffset + ", TargetVerticalOffset=" + args.TargetVerticalOffset;
            asyncEventMessage += ", ViewChangeId=" + args.ViewChangeId;
            asyncEventMessage += ", RequestEventArgs.AnimationDesired=" + args.RequestEventArgs.AnimationDesired + ", RequestEventArgs.Handled=" + args.RequestEventArgs.Handled;
            asyncEventMessage += ", RequestEventArgs.HorizontalAlignmentRatio=" + args.RequestEventArgs.HorizontalAlignmentRatio + ", RequestEventArgs.VerticalAlignmentRatio=" + args.RequestEventArgs.VerticalAlignmentRatio;
            asyncEventMessage += ", RequestEventArgs.HorizontalOffset=" + args.RequestEventArgs.HorizontalOffset + ", RequestEventArgs.VerticalOffset=" + args.RequestEventArgs.VerticalOffset;
            asyncEventMessage += ", RequestEventArgs.TargetRect=" + args.RequestEventArgs.TargetRect + ", RequestEventArgs.TargetElement=" + (args.RequestEventArgs.TargetElement as FrameworkElement).Name;
            asyncEventMessage += ", OriginalSource=";
            if (args.RequestEventArgs.OriginalSource == null)
            {
                asyncEventMessage += "null";
            }
            else
            {
                asyncEventMessage += (args.RequestEventArgs.OriginalSource as FrameworkElement).Name;
            }
            AppendAsyncEventMessage(asyncEventMessage);

            if (chkCancelOperationInBringingIntoView.IsChecked == true)
            {
                args.Cancel = true;
            }
        }
 private void UnhookScrollerEvents(Scroller scroller)
 {
     scroller.ExtentChanged       -= Scroller_ExtentChanged;
     scroller.StateChanged        -= Scroller_StateChanged;
     scroller.ViewChanged         -= Scroller_ViewChanged;
     scroller.ViewChangeCompleted -= Scroller_ViewChangeCompleted;
 }
Exemplo n.º 8
0
        private void CmbVerticalScrollController_SelectionChanged(object sender, Windows.UI.Xaml.Controls.SelectionChangedEventArgs e)
        {
            ComboBox cmbVerticalScrollController = sender as ComboBox;
            Scroller scroller = cmbVerticalScrollController == cmbVerticalScrollController1 ? scroller1 : scroller2;
            CompositionScrollController oldCompositionScrollController = scroller.VerticalScrollController as CompositionScrollController;

            switch (cmbVerticalScrollController.SelectedIndex)
            {
            case 0:
                if (scroller.VerticalScrollController != null)
                {
                    scroller.VerticalScrollController = null;
                    LogMessage(scroller.Name + ".VerticalScrollController reset");
                }
                break;

            case 1:
                scroller.VerticalScrollController = verticalCompositionScrollController;
                LogMessage(scroller.Name + ".VerticalScrollController set to verticalScrollController");
                break;

            case 2:
                scroller.VerticalScrollController = horizontalCompositionScrollController;
                LogMessage(scroller.Name + ".VerticalScrollController set to horizontalScrollController");
                break;
            }

            if (oldCompositionScrollController != null)
            {
                oldCompositionScrollController.IsEnabled = true;
            }
        }
Exemplo n.º 9
0
 private void Scroller_ViewChangeCompleted(Scroller sender, ScrollerViewChangeCompletedEventArgs args)
 {
     if (args.ViewChangeId == scroller3ZoomFactorChangeId)
     {
         this.txtResetStatus.Text = "Views reset";
     }
 }
Exemplo n.º 10
0
 private void Scroller_ViewChangeCompleted(Scroller sender, ScrollerViewChangeCompletedEventArgs args)
 {
     if (chkLogScrollerEvents.IsChecked == true)
     {
         AppendAsyncEventMessage("ViewChangeCompleted ViewChangeId=" + args.ViewChangeId + ", Result=" + args.Result);
     }
 }
Exemplo n.º 11
0
        private void Scroller_AnchorRequested(Scroller sender, ScrollerAnchorRequestedEventArgs args)
        {
            try
            {
                IList <UIElement> anchorCandidates = args.AnchorCandidates;

                if (chkLogScrollerEvents.IsChecked == true)
                {
                    AppendAsyncEventMessage("AnchorRequested anchor=" + (args.AnchorElement == null ? "null" : "non-null") + ", count=" + anchorCandidates.Count);
                }

                if (anchorElement == null)
                {
                    foreach (UIElement child in stackPanel.Children)
                    {
                        anchorCandidates.Add(child);
                    }
                }
                else
                {
                    args.AnchorElement = anchorElement;
                }
            }
            catch (Exception ex)
            {
                cmbAnchorElement.SelectedIndex = 0;
                BtnSetAnchorElement_Click(null, null);

                txtExceptionReport.Text = ex.ToString();
                lstScrollerEvents.Items.Add(ex.ToString());
            }
        }
Exemplo n.º 12
0
        private void AnchoringAtAlmostFarEdge(Orientation orientation)
        {
            using (ScrollerTestHooksHelper scrollerTestHooksHelper = new ScrollerTestHooksHelper())
            {
                Scroller       scroller            = null;
                AutoResetEvent scrollerLoadedEvent = new AutoResetEvent(false);

                RunOnUIThread.Execute(() =>
                {
                    scroller = new Scroller();

                    SetupDefaultAnchoringUI(orientation, scroller, scrollerLoadedEvent);
                });

                WaitForEvent("Waiting for Loaded event", scrollerLoadedEvent);

                ChangeZoomFactor(scroller, 2.0f, 0.0f, 0.0f, ScrollerViewKind.Absolute, ScrollerViewChangeKind.DisableAnimation);

                double horizontalOffset = 0.0;
                double verticalOffset   = 0.0;

                RunOnUIThread.Execute(() =>
                {
                    if (orientation == Orientation.Vertical)
                    {
                        verticalOffset = scroller.ExtentHeight * 2.0 - scroller.Height - 1.0;
                        scroller.VerticalAnchorRatio = 1.0;
                    }
                    else
                    {
                        horizontalOffset = scroller.ExtentWidth * 2.0 - scroller.Width - 1.0;
                        scroller.HorizontalAnchorRatio = 1.0;
                    }
                });

                ChangeOffsets(scroller, horizontalOffset, verticalOffset, ScrollerViewKind.Absolute, ScrollerViewChangeKind.DisableAnimation, ScrollerViewChangeSnapPointRespect.IgnoreSnapPoints, false /*hookViewChanged*/);

                RunOnUIThread.Execute(() =>
                {
                    Log.Comment("Inserting child at far edge");
                    InsertStackPanelChild((scroller.Child as Border).Child as StackPanel, 1 /*operationCount*/, c_defaultAnchoringUIStackPanelChildrenCount /*newIndex*/, 1 /*newCount*/);
                });

                IdleSynchronizer.Wait();

                RunOnUIThread.Execute(() =>
                {
                    Log.Comment("No Scroller offset change expected");
                    if (orientation == Orientation.Vertical)
                    {
                        Verify.AreEqual(scroller.VerticalOffset, verticalOffset);
                    }
                    else
                    {
                        Verify.AreEqual(scroller.HorizontalOffset, horizontalOffset);
                    }
                });
            }
        }
Exemplo n.º 13
0
 private void Scroller_ViewChanged(Scroller sender, object args)
 {
     string senderId = (VisualTreeHelper.GetParent(sender) as FrameworkElement).Name + "." + sender.Name;
     this.txtScrollerHorizontalOffset.Text = sender.HorizontalOffset.ToString();
     this.txtScrollerVerticalOffset.Text = sender.VerticalOffset.ToString();
     this.txtScrollerZoomFactor.Text = sender.ZoomFactor.ToString();
     this.fullLogs.Add(senderId + " ViewChanged H=" + this.txtScrollerHorizontalOffset.Text + ", V=" + this.txtScrollerVerticalOffset.Text + ", ZF=" + this.txtScrollerZoomFactor.Text);
 }
Exemplo n.º 14
0
 private void Scroller_StateChanged(Scroller sender, object args)
 {
     FrameworkElement parent = VisualTreeHelper.GetParent(sender) as FrameworkElement;
     FrameworkElement grandParent = VisualTreeHelper.GetParent(parent) as FrameworkElement;
     string senderId = grandParent.Name + "." + parent.Name + "." + sender.Name;
     this.txtScrollerState.Text = senderId + " " + sender.State.ToString();
     this.fullLogs.Add(senderId + " StateChanged S=" + sender.State.ToString());
 }
        private void Scroller_ViewChangeCompleted(Scroller sender, ScrollerViewChangeCompletedEventArgs args)
        {
            this.fullLogs.Add(sender.Name + " ViewChangeCompleted ViewChangeId=" + args.ViewChangeId + ", Result=" + args.Result);

            if (this.scroller52ZoomFactorChangeId == args.ViewChangeId)
            {
                this.txtResetStatus.Text = "Views reset";
            }
        }
Exemplo n.º 16
0
 private void Scroller_StateChanged(Scroller sender, object args)
 {
     if (sender == scroller0)
     {
         txtScroller0State.Text = "scroller0 " + scroller0.State.ToString();
     }
     else if (sender == scroller1)
     {
         txtScroller1State.Text = "scroller1 " + scroller1.State.ToString();
     }
 }
Exemplo n.º 17
0
 public CompositionInteractionSourceCollection GetInteractionSources(Scroller scroller)
 {
     if (m_interactionSources.ContainsKey(scroller))
     {
         return(m_interactionSources[scroller]);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 18
0
        private void Scroller_ViewChangeCompleted(Scroller sender, ScrollerViewChangeCompletedEventArgs args)
        {
            string senderId = (VisualTreeHelper.GetParent(sender) as FrameworkElement).Name + "." + sender.Name;

            this.fullLogs.Add(senderId + " View change completed. ViewChangeId=" + args.ViewChangeId + ", Result=" + args.Result);

            if (args.ViewChangeId == scrollerView52ZoomFactorChangeId)
            {
                this.txtResetStatus.Text = "Views reset";
                scrollerView52ZoomFactorChangeId = -1;
            }
        }
Exemplo n.º 19
0
        private void ValidateChildWithConstrainedWidth(
            Compositor compositor,
            Scroller scroller,
            FrameworkElement child,
            HorizontalAlignment horizontalAlignment,
            float expectedVerticalOffset,
            float expectedMinPosition,
            float expectedZoomFactor)
        {
            const double c_leftMargin    = 20.0;
            const double c_rightMargin   = 30.0;
            const double c_scrollerWidth = 200.0;

            float  horizontalOffset         = 0.0f;
            float  verticalOffset           = 0.0f;
            float  zoomFactor               = 1.0f;
            double arrangeRenderSizesDelta  = 0.0;
            double expectedHorizontalOffset = 0.0;

            RunOnUIThread.Execute(() =>
            {
                Log.Comment("Covering alignment " + horizontalAlignment.ToString());
                child.HorizontalAlignment = horizontalAlignment;
            });

            IdleSynchronizer.Wait();

            RunOnUIThread.Execute(() =>
            {
                Verify.AreEqual(child.HorizontalAlignment, horizontalAlignment);
                Verify.AreEqual(child.DesiredSize.Width, c_scrollerWidth);                               // 200
                Verify.AreEqual(child.RenderSize.Width, c_scrollerWidth - c_leftMargin - c_rightMargin); // 200 - 20 - 30 = 150
                arrangeRenderSizesDelta = GetArrangeRenderSizesDelta(
                    BiDirectionalAlignmentFromHorizontalAlignment(horizontalAlignment),
                    extentSize: c_scrollerWidth,
                    renderSize: c_scrollerWidth - c_leftMargin - c_rightMargin,
                    nearMargin: c_leftMargin,
                    farMargin: c_rightMargin);
                Verify.AreEqual(arrangeRenderSizesDelta, 20.0);
                expectedHorizontalOffset = -expectedMinPosition + (expectedZoomFactor - 1.0f) * arrangeRenderSizesDelta;
            });

            SpyTranslationAndScale(scroller, compositor, out horizontalOffset, out verticalOffset, out zoomFactor);

            Log.Comment("horizontalOffset={0}, verticalOffset={1}, zoomFactor={2}",
                        horizontalOffset, verticalOffset, zoomFactor);
            Log.Comment("expectedHorizontalOffset={0}, expectedVerticalOffset={1}, expectedZoomFactor={2}",
                        expectedHorizontalOffset, expectedVerticalOffset, expectedZoomFactor);
            Verify.AreEqual(horizontalOffset, expectedHorizontalOffset);
            Verify.AreEqual(verticalOffset, expectedVerticalOffset);
            Verify.AreEqual(zoomFactor, expectedZoomFactor);
        }
Exemplo n.º 20
0
        private void AnchoringAtAlmostNearEdge(Orientation orientation)
        {
            using (ScrollerTestHooksHelper scrollerTestHooksHelper = new ScrollerTestHooksHelper())
            {
                Scroller       scroller                 = null;
                AutoResetEvent scrollerLoadedEvent      = new AutoResetEvent(false);
                AutoResetEvent scrollerViewChangedEvent = new AutoResetEvent(false);

                RunOnUIThread.Execute(() =>
                {
                    scroller = new Scroller();

                    SetupDefaultAnchoringUI(orientation, scroller, scrollerLoadedEvent);
                });

                WaitForEvent("Waiting for Loaded event", scrollerLoadedEvent);

                double horizontalOffset = orientation == Orientation.Vertical ? 0.0 : 1.0;
                double verticalOffset   = orientation == Orientation.Vertical ? 1.0 : 0.0;

                ChangeOffsets(scroller, horizontalOffset, verticalOffset, ScrollerViewKind.Absolute, ScrollerViewChangeKind.DisableAnimation, ScrollerViewChangeSnapPointRespect.IgnoreSnapPoints);

                RunOnUIThread.Execute(() =>
                {
                    scroller.ViewChanged += delegate(Scroller sender, object args)
                    {
                        Log.Comment("ViewChanged - HorizontalOffset={0}, VerticalOffset={1}, ZoomFactor={2}",
                                    sender.HorizontalOffset, sender.VerticalOffset, sender.ZoomFactor);
                        scrollerViewChangedEvent.Set();
                    };

                    Log.Comment("Inserting child at near edge");
                    InsertStackPanelChild((scroller.Child as Border).Child as StackPanel, 1 /*operationCount*/, 0 /*newIndex*/, 1 /*newCount*/);
                });

                WaitForEvent("Waiting for Scroller.ViewChanged event", scrollerViewChangedEvent);
                IdleSynchronizer.Wait();

                RunOnUIThread.Execute(() =>
                {
                    Log.Comment("Scroller offset change expected");
                    if (orientation == Orientation.Vertical)
                    {
                        Verify.AreEqual(scroller.VerticalOffset, 127.0);
                    }
                    else
                    {
                        Verify.AreEqual(scroller.HorizontalOffset, 127.0);
                    }
                });
            }
        }
Exemplo n.º 21
0
 private void ScrollerTestHooks_InteractionSourcesChanged(Scroller sender, ScrollerTestHooksInteractionSourcesChangedEventArgs args)
 {
     Log.Comment("  InteractionSourcesChanged: s: " + sender.Name);
     if (!m_interactionSources.ContainsKey(sender))
     {
         m_interactionSources.Add(sender, args.InteractionSources);
     }
     else
     {
         m_interactionSources[sender] = args.InteractionSources;
     }
     LogInteractionSources(args.InteractionSources);
 }
        private void ResetView(Scroller scroller)
        {
            int viewChangeId = scroller.ChangeOffsets(new ScrollerChangeOffsetsOptions(0.0, 0.0, ScrollerViewKind.Absolute, ScrollerViewChangeKind.DisableAnimation, ScrollerViewChangeSnapPointRespect.IgnoreSnapPoints));

            this.fullLogs.Add(scroller.Name + " ChangeOffsets requested. Id=" + viewChangeId);

            viewChangeId = scroller.ChangeZoomFactor(new ScrollerChangeZoomFactorOptions(1.0f, ScrollerViewKind.Absolute, System.Numerics.Vector2.Zero, ScrollerViewChangeKind.DisableAnimation, ScrollerViewChangeSnapPointRespect.IgnoreSnapPoints));
            this.fullLogs.Add(scroller.Name + " ChangeZoomFactor requested. Id=" + viewChangeId);
            if (this.scroller52 == scroller)
            {
                scroller52ZoomFactorChangeId = viewChangeId;
            }
        }
        private void SetupScroller()
        {
            LinearGradientBrush threeColorsLGB = new LinearGradientBrush()
            {
                StartPoint = new Point(0, 0), EndPoint = new Point(1, 1)
            };

            GradientStop blueGS = new GradientStop()
            {
                Color = Colors.Blue, Offset = 0.0
            };

            threeColorsLGB.GradientStops.Add(blueGS);

            GradientStop yellowGS = new GradientStop()
            {
                Color = Colors.Yellow, Offset = 0.5
            };

            threeColorsLGB.GradientStops.Add(yellowGS);

            GradientStop redGS = new GradientStop()
            {
                Color = Colors.Red, Offset = 1.0
            };

            threeColorsLGB.GradientStops.Add(redGS);

            Rectangle rectSC = new Rectangle();

            rectSC.Width  = 1000;
            rectSC.Height = 900;
            rectSC.Fill   = threeColorsLGB;

            Scroller s = new Scroller();

            s.Name                 = "s";
            s.Width                = 500;
            s.Height               = 300;
            s.Background           = new SolidColorBrush(Windows.UI.Colors.LightBlue);
            s.Margin               = new Thickness(4);
            s.HorizontalScrollMode = ScrollerScrollMode.Enabled;
            s.VerticalScrollMode   = ScrollerScrollMode.Enabled;
            s.Child                = rectSC;
            s.ViewChanged         += Scroller_ViewChanged;

            sp.Children.Insert(0, s);

            parallaxView3.Source = s;
            parallaxView4.Source = s;
        }
Exemplo n.º 24
0
        private void ResetView(ScrollerView scrollerView)
        {
            Scroller scroller = ScrollerViewTestHooks.GetScrollerPart(scrollerView);
            string scrollerId = (VisualTreeHelper.GetParent(scroller) as FrameworkElement).Name + "." + scroller.Name;

            int viewChangeId = scroller.ChangeOffsets(new ScrollerChangeOffsetsOptions(0.0, 0.0, ScrollerViewKind.Absolute, ScrollerViewChangeKind.DisableAnimation, ScrollerViewChangeSnapPointRespect.IgnoreSnapPoints));
            this.fullLogs.Add(scrollerId + " ChangeOffsets requested. Id=" + viewChangeId);

            viewChangeId = scroller.ChangeZoomFactor(new ScrollerChangeZoomFactorOptions(1.0f, ScrollerViewKind.Absolute, System.Numerics.Vector2.Zero, ScrollerViewChangeKind.DisableAnimation, ScrollerViewChangeSnapPointRespect.IgnoreSnapPoints));
            this.fullLogs.Add(scrollerId + " ChangeZoomFactor requested. Id=" + viewChangeId);

            if (scrollerView == this.scrollerView52)
                scrollerView52ZoomFactorChangeId = viewChangeId;
        }
Exemplo n.º 25
0
        private void BtnDeleteScroller_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            if (scroller == null || grid.Children.Count == 6)
            {
                return;
            }

            scroller.Child = null;
            scroller       = null;

            btnDeleteScroller.IsEnabled = false;
            btnAddScroller.IsEnabled    = false;
            btnCreateScroller.IsEnabled = true;
        }
Exemplo n.º 26
0
        public void BasicPadding()
        {
            if (!PlatformConfiguration.IsOsVersionGreaterThanOrEqual(OSVersion.Redstone2))
            {
                Log.Comment("Skipping test on RS1 because test sometimes hangs indefinitely."); // Bug 12286203
                return;
            }

            const double   c_Padding           = 50.0;
            Scroller       scroller            = null;
            Border         borderScrollerChild = null;
            Rectangle      rectangle           = null;
            AutoResetEvent scrollerLoadedEvent = new AutoResetEvent(false);

            RunOnUIThread.Execute(() =>
            {
                borderScrollerChild = new Border();
                rectangle           = new Rectangle();
                scroller            = new Scroller();

                borderScrollerChild.Width  = c_defaultUIScrollerChildWidth;
                borderScrollerChild.Height = c_defaultUIScrollerChildHeight;
                borderScrollerChild.Child  = rectangle;
                scroller.Child             = borderScrollerChild;

                SetupDefaultUI(scroller, null /*rectangleScrollerChild*/, scrollerLoadedEvent);
            });

            WaitForEvent("Waiting for Loaded event", scrollerLoadedEvent);

            RunOnUIThread.Execute(() =>
            {
                Log.Comment("Adding Padding to Scroller.Child");
                borderScrollerChild.Padding = new Thickness(c_Padding);
            });

            // Try to jump beyond maximum offsets
            ChangeOffsets(
                scroller,
                c_defaultUIScrollerChildWidth - c_defaultUIScrollerWidth + 10.0,
                c_defaultUIScrollerChildHeight - c_defaultUIScrollerHeight + 10.0,
                ScrollerViewKind.Absolute,
                ScrollerViewChangeKind.DisableAnimation,
                ScrollerViewChangeSnapPointRespect.IgnoreSnapPoints,
                true /*hookViewChanged*/,
                c_defaultUIScrollerChildWidth - c_defaultUIScrollerWidth,
                c_defaultUIScrollerChildHeight - c_defaultUIScrollerHeight);
        }
Exemplo n.º 27
0
        private void Scroller_ViewChanged(Scroller sender, object args)
        {
            if (chkLogScrollerEvents.IsChecked == true)
            {
                AppendAsyncEventMessage("ViewChanged H=" + sender.HorizontalOffset.ToString() + ", V=" + sender.VerticalOffset.ToString() + ", S=" + sender.ZoomFactor.ToString());
            }

            double newScrollerOffset = scroller.VerticalOffset;

            if (lstTriggeredOperations.Count > 0 &&
                ((lastScrollerOffset <= 350.0 && newScrollerOffset > 350.0) || (lastScrollerOffset >= 350.0 && newScrollerOffset < 350.0)))
            {
                ExecuteTriggerableOperations();
            }

            lastScrollerOffset = newScrollerOffset;
        }
        public void OverlappingRegularSnapPointsThrow()
        {
            RunOnUIThread.Execute(() =>
            {
                Scroller scroller = new Scroller();
                ScrollerSnapPointRegular snapPoint1 = new ScrollerSnapPointRegular(offset:  10, interval: 10, start:  10, end: 100, alignment: ScrollerSnapPointAlignment.Near);
                ScrollerSnapPointRegular snapPoint2 = new ScrollerSnapPointRegular(offset:  10, interval: 10, start:  10, end: 100, alignment: ScrollerSnapPointAlignment.Near);
                ScrollerSnapPointRegular snapPoint3 = new ScrollerSnapPointRegular(offset:   0, interval:  2, start:   0, end:  12, alignment: ScrollerSnapPointAlignment.Near);
                ScrollerSnapPointRegular snapPoint4 = new ScrollerSnapPointRegular(offset:   0, interval:  2, start:   0, end:  10, alignment: ScrollerSnapPointAlignment.Near);
                ScrollerSnapPointRegular snapPoint5 = new ScrollerSnapPointRegular(offset: 100, interval:  2, start: 100, end: 200, alignment: ScrollerSnapPointAlignment.Near);

                scroller.VerticalSnapPoints.Add(snapPoint1);
                Verify.Throws <Exception>(() => { scroller.VerticalSnapPoints.Add(snapPoint2); });
                Verify.Throws <Exception>(() => { scroller.VerticalSnapPoints.Add(snapPoint3); });
                scroller.HorizontalSnapPoints.Add(snapPoint4);
                scroller.HorizontalSnapPoints.Add(snapPoint5);
            });
        }
Exemplo n.º 29
0
        private void ChkIsVerticallyScrollable_Unchecked(object sender, RoutedEventArgs e)
        {
            CheckBox chkIsVerticallyScrollable   = sender as CheckBox;
            ComboBox cmbVerticalScrollController = chkIsVerticallyScrollable == chkIsVerticallyScrollable1 ? cmbVerticalScrollController1 : cmbVerticalScrollController2;
            Scroller scroller = chkIsVerticallyScrollable == chkIsVerticallyScrollable1 ? scroller1 : scroller2;

            scroller.VerticalScrollMode = ScrollerScrollMode.Disabled;
            switch (cmbVerticalScrollController.SelectedIndex)
            {
            case 1:
                verticalCompositionScrollController.IsEnabled = false;
                break;

            case 2:
                horizontalCompositionScrollController.IsEnabled = false;
                break;
            }
        }
Exemplo n.º 30
0
        private void Scroller_AnchorRequested(Scroller sender, ScrollerAnchorRequestedEventArgs args)
        {
            try
            {
                if (chkLogScrollerEvents.IsChecked == true)
                {
                    IList <UIElement> anchorCandidates = args.AnchorCandidates;

                    AppendAsyncEventMessage("AnchorRequested anchor=" + (args.AnchorElement == null ? "null" : "non-null") + ", count=" + anchorCandidates.Count);
                }

                args.AnchorElement = anchorElement;
            }
            catch (Exception ex)
            {
                txtExceptionReport.Text = ex.ToString();
                lstScrollerEvents.Items.Add(ex.ToString());
            }
        }