Как стать автором
Обновить

Комментарии 16

не делайте так пожалуйста. бесит.
я тыкаю пальцем в поле ввода, чтобы перевести на него фокус и тут всплывает это чудо на пол экрана. потом я набираю текст с железной клавы и оно пропадает.
лучше показывать клаву только при клике в поле которое уже находится в фокусе. тогда все будут счастливы.
«А может просто сбрить усы?»
Я бы предложил автору добавлять такое поведение только если нет обычной клавиатуры.
Я думал над вариантом с обнаружением «железной» клавиатуры. А если это трансформер и он находится в режиме планшета?
Как уже написал выше, сделайте по клику на поле ввода, если он уже в фокусе.
Это не адаптация, это выдача костыля.
Предложите более удобный вариант.
Переписать гуй с нуля.
Переписывать придется не только GUI, но и весь код, если идет речь о портировании с десктопа в Windows Store. Оно, конечно, правильнее, но в некоторых случаях не реализуемо, если речь идет не о RSS ридере, а, например, о приложении использующем API не доступный в WinRT
Если уж на то пошло, то можно использовать примерно такой подход чтобы определить видимость каретки в своем (или даже чужом) приложении и автоматически показывать или скрывать клавиатуру.
А вообще да, лучше показывать клавиатуру не на смену фокуса, а на событие от прикосновения к экрану (проверкой на MOUSEEVENTF_FROMTOUCH флажок). Хотя такие вещи все-равно должны решаться системой, а не отдельно взятым приложением.
С тачем отличная идея, если еще предусмотреть вариант, когда фокус изменяется Tab-ом. Есть над чем подумать…
В профессиональной редакции он есть. Видимо, в бесплатный Express не включается.
Лучше дать пользователю выбор и подсказку, нарисовать кнопку с клавиатурой рядом с полем. Нет железной клавиатуры — вызову кнопкой, есть — просто напечатаю как всегда.
Хорошее предложение, но опять же это может раздражать, особенно когда я перехожу из поля в поле Tab-ом или завершая ввод через Enter.

После прочтения всех комментариев я понял, что стоит искать компромисс…
Компромисс — в этике и праве разрешение некой конфликтной ситуации путём взаимных уступок.

Уступки — это невыгодны обоим сторонам, и что-то от первоначального будет потеряно.
Стоит искать такой метод, который приведет к консенсусу.
Согласие есть продукт при полном непротивлении сторон :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий