コード例 #1
0
        private void IScrollController_OffsetChangeRequested(IScrollController sender, ScrollControllerOffsetChangeRequestedEventArgs args)
        {
            try
            {
                if (provideViewChangeIds)
                {
                    viewChangeId++;
                    args.ViewChangeId = viewChangeId;
                    AppendAsyncEventMessage("OffsetChangeRequested Created ViewChangeId=" + args.ViewChangeId);

                    lock (asyncEventReportingLock)
                    {
                        viewChangeIds.Add(args.ViewChangeId);
                    }

                    var ignored = this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, ProcessAsyncOperation);
                }
                else
                {
                    AppendAsyncEventMessage("OffsetChangeRequested");
                }
            }
            catch (Exception ex)
            {
                txtExceptionReport.Text = ex.ToString();
                lstScrollBar2Events.Items.Add(ex.ToString());
            }
        }
コード例 #2
0
        private void UnhookIScrollControllerEvents()
        {
            IScrollController sc = scrollBar2 as IScrollController;

            sc.InteractionInfoChanged -= IScrollController_InteractionInfoChanged;
            sc.InteractionRequested   -= IScrollController_InteractionRequested;
            sc.OffsetChangeRequested  -= IScrollController_OffsetChangeRequested;
            sc.OffsetChangeWithAdditionalVelocityRequested -= IScrollController_OffsetChangeWithAdditionalVelocityRequested;
        }
コード例 #3
0
 private void IScrollController_OffsetChangeWithAdditionalVelocityRequested(IScrollController sender, ScrollControllerOffsetChangeWithAdditionalVelocityRequestedEventArgs args)
 {
     try
     {
         AppendAsyncEventMessage("OffsetChangeWithAdditionalVelocityRequested ViewChangeId=" + args.ViewChangeId);
     }
     catch (Exception ex)
     {
         txtExceptionReport.Text = ex.ToString();
         lstScrollBar2Events.Items.Add(ex.ToString());
     }
 }
コード例 #4
0
 private void IScrollController_InteractionRequested(IScrollController sender, ScrollControllerInteractionRequestedEventArgs args)
 {
     try
     {
         AppendAsyncEventMessage("InteractionRequested PointerPoint=" + args.PointerPoint.ToString());
     }
     catch (Exception ex)
     {
         txtExceptionReport.Text = ex.ToString();
         lstScrollBar2Events.Items.Add(ex.ToString());
     }
 }
コード例 #5
0
 private void IScrollController_InteractionInfoChanged(IScrollController sender, object args)
 {
     try
     {
         AppendAsyncEventMessage("InteractionInfoChanged");
     }
     catch (Exception ex)
     {
         txtExceptionReport.Text = ex.ToString();
         lstScrollBar2Events.Items.Add(ex.ToString());
     }
 }
コード例 #6
0
        private void ProcessAsyncOperation()
        {
            lock (asyncOperationLock)
            {
                foreach (int offsetChangeId in viewChangeIds)
                {
                    IScrollController sc = scrollBar2 as IScrollController;

                    sc.OnOffsetChangeCompleted(offsetChangeId, ScrollerViewChangeResult.Completed);
                }
                viewChangeIds.Clear();
            }
        }
コード例 #7
0
 private void OnOffsetChangeWithAdditionalVelocityRequested(IScrollController sender, ScrollControllerOffsetChangeWithAdditionalVelocityRequestedEventArgs e)
 {
     if (sender == horizontalScrollController)
     {
         LogMessage("CanvasScrollControllerConsumer: OnOffsetChangeWithAdditionalVelocityRequested for HorizontalScrollController");
     }
     else if (sender == verticalScrollController)
     {
         LogMessage("CanvasScrollControllerConsumer: OnOffsetChangeWithAdditionalVelocityRequested for VerticalScrollController");
     }
     else
     {
         LogMessage("CanvasScrollControllerConsumer: OnOffsetChangeWithAdditionalVelocityRequested for unknown sender");
     }
 }
コード例 #8
0
 private void OnInteractionInfoChanged(IScrollController sender, object e)
 {
     if (sender == horizontalScrollController)
     {
         LogMessage("CanvasScrollControllerConsumer: OnInteractionInfoChanged for HorizontalScrollController");
     }
     else if (sender == verticalScrollController)
     {
         LogMessage("CanvasScrollControllerConsumer: OnInteractionInfoChanged for VerticalScrollController");
     }
     else
     {
         LogMessage("CanvasScrollControllerConsumer: OnInteractionInfoChanged for unknown sender");
     }
 }
コード例 #9
0
 private void OnInteractionRequested(IScrollController sender, ScrollControllerInteractionRequestedEventArgs e)
 {
     if (sender == horizontalScrollController)
     {
         LogMessage("CanvasScrollControllerConsumer: OnInteractionRequested for HorizontalScrollController");
     }
     else if (sender == verticalScrollController)
     {
         LogMessage("CanvasScrollControllerConsumer: OnInteractionRequested for VerticalScrollController");
     }
     else
     {
         LogMessage("CanvasScrollControllerConsumer: OnInteractionRequested for unknown sender");
     }
 }
コード例 #10
0
        private void OnOffsetChangeRequested(IScrollController sender, ScrollControllerOffsetChangeRequestedEventArgs e)
        {
            if (sender == horizontalScrollController)
            {
                LogMessage("CanvasScrollControllerConsumer: OnOffsetChangeRequested for HorizontalScrollController");
                LogMessage("Offset=" + e.Offset + ", OffsetKind=" + e.OffsetKind + ", OffsetChangeKind=" + e.OffsetChangeKind);

                switch (e.OffsetKind)
                {
                case ScrollerViewKind.Absolute:
                {
                    switch (e.OffsetChangeKind)
                    {
                    case ScrollerViewChangeKind.DisableAnimation:
                        Canvas.SetLeft(scrolledElement, -e.Offset);
                        break;
                    }
                    break;
                }
                }
            }
            else if (sender == verticalScrollController)
            {
                LogMessage("CanvasScrollControllerConsumer: OnOffsetChangeRequested for VerticalScrollController");
                LogMessage("Offset=" + e.Offset + ", OffsetKind=" + e.OffsetKind + ", OffsetChangeKind=" + e.OffsetChangeKind);

                switch (e.OffsetKind)
                {
                case ScrollerViewKind.Absolute:
                {
                    switch (e.OffsetChangeKind)
                    {
                    case ScrollerViewChangeKind.DisableAnimation:
                        Canvas.SetTop(scrolledElement, -e.Offset);
                        break;
                    }
                    break;
                }
                }
            }
            else
            {
                LogMessage("CanvasScrollControllerConsumer: OnOffsetChangeRequested for unknown sender");
            }
        }
コード例 #11
0
        private void BtnSetValues_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                IScrollController sc = scrollBar2 as IScrollController;

                sc.SetValues(
                    Convert.ToDouble(txtMinOffset.Text),
                    Convert.ToDouble(txtMaxOffset.Text),
                    Convert.ToDouble(txtOffset.Text),
                    Convert.ToDouble(txtViewport.Text));
            }
            catch (Exception ex)
            {
                txtExceptionReport.Text = ex.ToString();
                lstScrollBar2Events.Items.Add(ex.ToString());
            }
        }
コード例 #12
0
        public void VerifyScrollControllerImplementation()
        {
            RunOnUIThread.Execute(() =>
            {
                ScrollBar2 scrollBar2 = new ScrollBar2();
                Verify.IsNotNull(scrollBar2);

                IScrollController scrollBar2AsIScrollController = scrollBar2 as IScrollController;
                Verify.IsNotNull(scrollBar2AsIScrollController);

                Log.Comment("Verifying ScrollBar2's IScrollController default property values");
                Verify.IsTrue(scrollBar2AsIScrollController.AreScrollerInteractionsAllowed);
                Verify.IsNull(scrollBar2AsIScrollController.InteractionVisual);
                Verify.AreEqual(scrollBar2AsIScrollController.InteractionVisualScrollOrientation, c_defaultOrientation);
                Verify.AreEqual(scrollBar2AsIScrollController.InteractionVisualScrollRailingMode, ScrollerRailingMode.Enabled);
                Verify.IsFalse(scrollBar2AsIScrollController.IsInteracting);

                Log.Comment("Invoking ScrollBar2's IScrollController.SetValues method");
                scrollBar2AsIScrollController.SetValues(10.0, 250.0, 75.0, 30.0);
            });
        }
コード例 #13
0
        private void BtnCreateScrollBar2_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            scrollBar2                   = new ScrollBar2();
            scrollBar2.Name              = "dynamicScrollBar2";
            scrollBar2.Width             = 300.0;
            scrollBar2.Height            = 16.0;
            scrollBar2.Margin            = new Thickness(6);
            scrollBar2.VerticalAlignment = VerticalAlignment.Top;
            scrollBar2.Orientation       = Orientation.Horizontal;

            IScrollController sc = scrollBar2 as IScrollController;

            if (sc != null)
            {
                sc.SetValues(1, 2, 3, 4);
            }

            btnCreateScrollBar2.IsEnabled = false;
            btnAddScrollBar2.IsEnabled    = true;
            btnDeleteScrollBar2.IsEnabled = true;
        }
コード例 #14
0
        private void BtnSetVerticalScrollController_Click(object sender, RoutedEventArgs e)
        {
            if (verticalScrollController == null)
            {
                verticalScrollController = new ScrollBarController(verticalScrollBar, lstLog, chkLog.IsChecked.Value);
            }

            ((ScrollBarController)verticalScrollController).IsEnabled = true;

            if (cmbIScrollControllerConsumer.SelectedIndex == 0)
            {
                if (scroller.VerticalScrollController != verticalScrollController)
                {
                    scroller.VerticalScrollController = verticalScrollController;
                    LogMessage("Scroller.VerticalScrollController set");
                }
            }
            else if (canvasScrollControllerConsumer.VerticalScrollController != verticalScrollController)
            {
                canvasScrollControllerConsumer.VerticalScrollController = verticalScrollController;
                LogMessage("CanvasScrollControllerConsumer.VerticalScrollController set");
            }
        }