Я пытаюсь отладить сложную ситуацию, когда автокоррекция неправильно обрабатывается в TextBox, но я застрял:
Я не могу найти, как постукивание предложения автокоррекции в SIP передается в TextBox.
Я проследил события KeyUp, KeyDown, TextInput, TextInputStart и TextInputUpdate, но, похоже, они не участвуют в обновлении текста в объекте TextBox.
Справочная информация:
Когда используется язык, отличный от греческого, автокоррекция работает так же, как и для TextBox в моем приложении. Однако, когда язык установлен на греческий, при нажатии на предложенное слово ничего не происходит ... С другой стороны, в текстовых полях в стандартных телефонных приложениях (например, при добавлении текста в раздел заметок контакта) греческая автокоррекция работает отлично. , Итак, мое первое предположение - что-то не так с TextBox, а не с SIP. Мой план состоит в том, чтобы создать подкласс TextBox, изменяя только части обработки автокоррекции.
Любая помощь будет высоко ценится,
Герасим
Обновление:
Я провел несколько тестов, и это, похоже, проблема во всех нестандартных приложениях. В частности, я протестировал приложения eBay и SkyMap, и в обоих случаях английская автокоррекция работает, а греческая - нет.
Проблема легко воспроизводится:
- поместить текстовое поле в приложение (с inputScope, для которого включена автокоррекция)
- использовать греческую раскладку клавиатуры
- нажмите 1-2 случайные буквы.
- нажмите на одну из предложенных автокоррекций. Вводится только последний пробел, и в случаях, когда курсор находится между двумя пробелами (как я предпочел проверить), ничего не происходит.
Итак, я считаю, что есть ошибка где-то в части фреймворка, а не в коде приложения. Теперь, если бы мы могли найти, как эта автокоррекция передается в TextBox ...: -)