Exemplo n.º 1
0
        /// <summary>
        /// When down key is pressed, selected element should move forward.
        /// When up key is pressed, selected element should move back.
        /// </summary>
        public void MoveSelection(Direction direction)
        {
            var oldItem = FilteredResults.FirstOrDefault(item => item.IsSelected);

            if (oldItem == null)
            {
                return;
            }

            int newItemIndex = FilteredResults.IndexOf(oldItem);

            if ((newItemIndex <= 0 && direction == Direction.Up) ||
                (newItemIndex >= FilteredResults.Count() - 1 && direction == Direction.Down))
            {
                return;
            }

            if (direction == Direction.Down)
            {
                newItemIndex++;
            }
            else
            {
                newItemIndex--;
            }

            oldItem.IsSelected = false;
            var newItem = FilteredResults.ElementAt(newItemIndex);

            newItem.IsSelected = true;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Executes selected item in search UI.
        /// </summary>
        public void ExecuteSelectedItem()
        {
            var selected = FilteredResults.FirstOrDefault(item => item.IsSelected);

            if (selected != null)
            {
                selected.ClickedCommand.Execute(null);
            }
        }