Example #1
0
        //public int GetNextCursorTopPosition(NavigationDirectionEnum direction)
        //{
        //    var cursorTopPosition = GetNextCursorTopPosition(direction);
        //    _itemSelector.SelectItemAtPosition(cursorTopPosition);
        //    _itemPositionManager.MoveCursorToTopPosition(cursorTopPosition);
        //}

        public int GetNextCursorTopPosition(NavigationDirectionEnum direction)
        {
            int cursorTopPosition = _itemPositionManager.GetCurrentCursorTopPosition();

            int firstItemTopPosition = _itemPositionManager.GetFirstItemTopPosition();
            int lastItemTopPosition  = _itemPositionManager.GetLastItemTopPosition();

            switch (direction)
            {
            case NavigationDirectionEnum.Previous:
                if (cursorTopPosition - 1 >= firstItemTopPosition)
                {
                    cursorTopPosition -= 1;
                }
                break;

            case NavigationDirectionEnum.Next:
                if (cursorTopPosition + 1 <= lastItemTopPosition)
                {
                    cursorTopPosition += 1;
                }
                break;

            case NavigationDirectionEnum.First:
                cursorTopPosition = firstItemTopPosition;
                break;

            case NavigationDirectionEnum.Last:
                cursorTopPosition = lastItemTopPosition;
                break;
            }
            return(cursorTopPosition);
        }
Example #2
0
 private void OnNavigate(NavigationDirectionEnum direction)
 {
     if (Navigate != null)
     {
         Navigate(this, new NavigationArgs(direction));
     }
 }
Example #3
0
 public NavigationArgs(NavigationDirectionEnum direction)
 {
     Direction = direction;
 }