//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); }
private void OnNavigate(NavigationDirectionEnum direction) { if (Navigate != null) { Navigate(this, new NavigationArgs(direction)); } }
public NavigationArgs(NavigationDirectionEnum direction) { Direction = direction; }