Я пытаюсь сделать простой калькулятор, и он должен сосредоточиться на последнем числе, чтобы, когда текст слишком длинный, пользователь все еще мог видеть, что он / она набирает. Кроме того, если курсор не находится в конце строки (используются клавиши со стрелками), нажатие цифровой кнопки вернет его в конец строки. Как ты делаешь это?
WPF TextBox Все время фокусироваться на конце текста, если не нажимаются клавиши со стрелками
Ответы (1)
Установите CaretIndex
в конец ввода таким образом, когда получен ввод текста.
TextBoxName.CaretIndex = TextBoxName.Text.Length - 1;
Если вы пытаетесь создать калькулятор, подобный этому в Windows10
, то текстовое поле должно быть доступно только для чтения. Вы можете установить TextAlignment
на Right
, чтобы текст отображался справа, как в калькуляторе Windows. Поскольку текстовое поле доступно только для чтения, когда пользователь нажимает на какое-то число, эту строку необходимо объединить с текстовым полем. Логика очень проста.
Вы можете найти в Google калькулятор WPF и найти несколько хороших примеров.
Если у вас есть калькулятор с двумя текстовыми полями и одним результирующим текстовым полем, вы можете воспользоваться методом, который я упомянул выше, чтобы добиться ожидаемого поведения.
person
ViVi
schedule
11.08.2016
Это хорошее дополнение к KeyboardFocus отсюда: stackoverflow.com/questions/20294658/ Просто добавьте вызов Focus в отдельный метод и включите изменение CaretIndex.
- person GeorgiG; 19.08.2019
TextAlignment
правой стороной. - person GauravKP   schedule 11.08.2016