Хорошо, но мало: справочники растут, а пользы от этого никакой. Первая мысль – сделать на их основе автодополнение для ввода в форме программы. Ура! Одна малость – подходящих под эту задачу контролов как-то не наблюдается ни среди стандартных, ни среди розданных на халяву фирмой Terlerik. Пришлось сооружать такой контрол самостоятельно. Контрол получил гордое имя “TextBoxWithList”:
После ввода с клавиатуры нескольких символов список заполняется подходящими значениями из справочника и выводится на дисплей:
Windows 8.1. | WinPhone 8.1 |
Собственно, всего этого достаточно, если бы не одна малость – на телефонах работает как задумано только на 6” устройствах. На меньших экранах с третьим полем формы случается неувязка: выпадающий список практически полностью перекрывается находящейся в этот момент на экране клавиатурой. Для других полей список перекрывается частично и это не мешает им воспользоваться:
Сразу же возникает мысль использовать suggestions клавиатуры, однако обращение к собратьям эту мысль на время похоронило. Не придумал ничего лучшего, как при появлении списка сдвигать все элементы вверх, для чего пришлось прикрутить к контролу событие VisibilityListChanged, в обработчике которого и двигаются элементы формы:
Вариант с рисованием списка выше поля ввода мне не нравится – и сам контрол надо переделывать, и основная форма ещё больше станет станет различаться в вариантах Windows/WinPhone, от чего Студия свихнётся окончательно...
Комментариев нет:
Отправить комментарий