Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

OMI SDK

Touch in the NavTreeControl

You can extract code from the NavTreeControl or the NavBreadcrumbControl and use it as a module within your app to support touch manipulation gestures, such as touch up and down, and for converting touch to mouse, for example, a tap to a mouse click. This is set by the Boolean property ConvertToMouse. The controls include code for processing swipes and other touch manipulations. For example, you can convert a down gesture to scroll up a drop down list, as shown below:


case TouchType.ManipulationDelta:
                    if (touchArgs is ManipulationTouchArgs manipulationArgs)
                    {
                        if (touchArgs.InteractionMode == InteractionMode.SystemMode)
                        {
                            if (manipulationArgs.Delta != null && (touchArgs.TouchPointsCount == 1 || manipulationArgs.IsInertia) && this.swipestarted)
                            {
                                var scrollViewer = (touchArgs.Sender as Popup)?.Child.FindChildOfType<ScrollViewer>();
                                var direction = TouchUtil.GetGestureDirection(manipulationArgs.Cumulative);
                                var deltaX = manipulationArgs.Delta.Translation.X;
                                var deltaY = manipulationArgs.Delta.Translation.Y;
                                Logger.LogCustom(CustomLogFlags.ProcessGesture, () => 
quot;ManipulationDelta, deltaX =
{deltaX}, deltaY = {deltaY}"); if (direction == GestureDirection.Down || direction == GestureDirection.Up) { ScrollViewerHelper.ScrollToVerticalOffset(scrollViewer, -deltaY); } if (direction == GestureDirection.Left || direction == GestureDirection.Right) { ScrollViewerHelper.ScrollToHorizontalOffset(scrollViewer, -deltaX); } result.Handled = true; } }

The full path names for these navigation controls are:

  • <root installation directory>:\Program Files (x86)\ArchestrA\Framework\AcfSdk\Samples\NavTree\View\NavTreeControl.xaml.cs
  • <root installation directory>:\Program Files (x86)\ArchestrA\Framework\AcfSdk\Samples\NavBreadcrumb\NavBreadcrumbControl.xaml.cs