День #11. InputScope или какие бывают клавиатуры

Posted on Декабрь 22, 2010

3


Добрый день всем!
Это одиннадцатый пост в цикле Windows Phone 7 для начинающих. Сейчас мы сфокусируемся на вводе в устройство. Хочу рассказать вам как заставить клавиатуру отображать подходящие символы для определенного поля ввода. Так же мы поговорим о PasswordBox и о том, как его настроить.

Супер подсказка

Я видел достаточно много приложений и людей, которые их разрабатывают. Они почти все жалуются на то, что не могут использовать клавиатуру их компьютера и из-за этого тестирование и разработка замедляется и сводится к нулю. Есть способ заставить работать клавиатуру копьютера. Нажмите кнопку Pause/Break на клавиатуре… И наслаждайтесь! Эта кнопка переключит вас на использование клавиатуры компьютера и обратно.

InputScope

Каждое поле ввода или поле для пароля имеют свой InputScope. Не обязательно его задавать, но использование InpurScope улучшит юзабилити вашего приложения. Вот две клавиатуры Windows Phone 7:

Видно что они разные, но отображение любой из них не вызывает совершенно никаких затруднений. Вот кусочек XAML, для обеих клавиатур:

<TextBox Height=»100″ />
<TextBox InputScope=»TelephoneNumber» Height=»100″ />

Задавая InputScope, мы можем дать нашим пользователям ту клавиатуру, которая больше всего подходит для них в данный момент. Если мы просим пользователя ввести телефон, то логично будет подать ему клавиатуру с цифрами. Вот еще несколько часто используемых значений для InputScope:

URL

Эта клавиатура дает вам  кнопку “.com” для завершения ссылок. При длительном нажатии на нее, будут предложены .net, .org, .edu, и .co.uk.  Очень удобно.

Number

Эта клавиатура сразу показывает вам цифры из стандартной клавиатуры, пропуская при этом буквы. Удобна при вводе чисел или цифровых значений.

Text

Вы сразу обратите внимание на улыбающуюся мордочку внизу. при нажатии открывается большой список смайлов…как раз для обычного общения!

TelephoneNumber

Представляет пользователю клавиатуру с цифрами для введения телефонного номера.

EmailNameOrAddress

При введении email адреса, есть три вещи, которые в любом случае будут присутствовать в адресе. Точка, символ @, и окончание типа .com или .net.  Все они есть на данной клавиатуре.

PasswordBox

Есть несколько вещей, которые вам следует знать о PasswordBox.
Первое, при нажатии на кнопку происходит секундная (1) задержка перед тем, как введенный символ поменяется на то, что никаким образом не раскрывает нажатую кнопку. На компьютере нет задержек, но и кнопкам на клавиатуре компьютера вы попадаете с большей точностью.
Второе, вы можете настроить чем будут заменяться введенные символы. просто используйте это:

<PasswordBox x:Name="PassBox" PasswordChar="?" />

Этот код изменит ваши символы на знак вопроса.
Все значения InputScope можно получить в коде:

<TextBox Height="75">
	<TextBox.InputScope>
		<InputScope>
			<InputScopeName NameValue="" />
		</InputScope>
	</TextBox.InputScope>
</TextBox>

Если не всплывает окошко, то ставим каретку в кавычки и жмем Ctrl + Space. Вот список всех значений InputScope:






Надеюсь, что вы будете строить красивые и удобные приложения. До новых встреч!

Реклама