Я только что реализовал функцию быстрого автозаполнения в TextBox
, которая вытягивает строку из довольно небольшого списка и «завершает» это слово. Картинка TextBox
остается в месте, где он находился от последнего нажатия клавиши, и часть слова, которое пользователь еще не напечатал, становится подсвеченной, так что начало ввода чего-то еще приведет к удалению этого раздела ввода.Переопределение поведения ключевых слов по умолчанию в TextBox
Прикрепленный файл, который должен иметь его таким образом, что после завершения и частичной подсветки пробел работает как клавиша «принять» - например, он перемещает каретку до конца завершенного слова. Однако, несмотря на то, что я, кажется, занимаю место, удаляет выделенную часть слова (заменяя его символом пробела, точно так же, как если бы вы ударили любой другой ключ).
Я попытался это:
private void textBoxIncidentLogTypes_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
{
textBoxIncidentLogTypes.CaretIndex = textBoxIncidentLogTypes.Text.Length;
}
}
Но в то время как это «работает» он увольняет после пространства ключей разрушили лучшую часть фразы. Есть ли способ захватить нажатие клавиши, прежде чем он набирается в TextBox
?