private void SuggestItemsListBox_PreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Down) { SuggestItemsListBox.SelectedIndex = (SuggestItemsListBox.SelectedIndex < SuggestItemsListBox.Items.Count - 1) ? (SuggestItemsListBox.SelectedIndex + 1) : SuggestItemsListBox.SelectedIndex; SuggestItemsListBox.ScrollIntoView(SuggestItemsListBox.SelectedItem); } else if (e.Key == Key.Up) { SuggestItemsListBox.SelectedIndex = (SuggestItemsListBox.SelectedIndex > -1) ? (SuggestItemsListBox.SelectedIndex - 1) : SuggestItemsListBox.SelectedIndex; SuggestItemsListBox.ScrollIntoView(SuggestItemsListBox.SelectedItem); } else if (e.Key == Key.Escape) { SuggestItemsListBox.SelectedIndex = -1; } else if (e.Key == Key.Enter) { if (SuggestItemsListBox.SelectedItem is SuggestItems Selected) { thePathNow.Text = Selected.FullPath; SuggestionPopup.IsOpen = false; thePathNow.SelectionStart = thePathNow.Text.Length; thePathNow.Focus(); } } if (SuggestItemsListBox.SelectedIndex == -1) { thePathNow.Focus(); } }
private void ThePathNow_PreviewKeyDown(object sender, KeyEventArgs e) { if (SuggestionPopup.IsOpen && e.Key == Key.Down) { SuggestItemsListBox.SelectedIndex = 0; SuggestItemsListBox.Focus(); } if (e.Key == Key.Enter) { SuggestionPopup.IsOpen = false; Search(); } }