Windows Phone 7 (Mango) Tutorial - 26 - What is Input Scope?
Input Scope of a TextBox defines the information related to the scope of the data provided by the input method and use to define the layout ...- Article authored by Kunal Chowdhury on .
Input Scope of a TextBox defines the information related to the scope of the data provided by the input method and use to define the layout ...- Article authored by Kunal Chowdhury on .
Input Scope of a TextBox defines the information related to the scope of the data provided by the input method and use to define the layout of the onscreen keyboard of the device. It is present in the "System.Windows.Input" namespace and exposed in TextBox as a property called "InputScope".
You might be wondering what is this property and why should one use it. Ok, let us discuss this in depth with a small sample. After reading this chapter, you will be able to understand it more and use it on your business requirement. Don't forget to share this tutorial links to others as this will help them to learn more.
InputScope is a property exposed by TextBox control of Windows Phone 7. It's a property of type InputScope and present in the namespace "System.Windows.Input" and inherits DependencyObject. InputScope takes parameter InputScopeName which is of type InputScopeNameValue.
Generally, this can be declared for TextBox similar way as shown in the below code snippet:
You can also reduce the no. of lines by specifying the value in this format:
This property represents the information related to the scope of the data provided by the input method. We will learn more about it in the next point with some sample code.
InputScopeNameValue is an enum type which represents the different way of text input pattern. It has a no. of enum values. Let's see the meta data of the enum here. Just read the comments in each line to know more about the enum values.
public enum InputScopeNameValue { EnumString = -5, // The text input pattern for enum string Xml = -4, // The text input pattern for xml Srgs = -3, // The text input pattern for srgs RegularExpression = -2, // Gets or sets a regular expression to be used as a input pattern PhraseList = -1, // Gets a collection of phrases to be used as input patterns Default = 0, // The default handling of input commands Url = 1, // The text input pattern for an URL FullFilePath = 2, // The text input pattern for full file path FileName = 3, // The text input pattern for a file name EmailUserName = 4, // The text input pattern for email username EmailSmtpAddress = 5, // The text input pattern for SMTP email address LogOnName = 6, // The text input pattern for logon name PersonalFullName = 7, // The text input pattern for Personal full name PersonalNamePrefix = 8, // The text input pattern for prefix of personal name PersonalGivenName = 9, // The text input pattern for person's given name PersonalMiddleName = 10, // The text input pattern for middle name of a Person PersonalSurname = 11, // The text input pattern for surname of a person PersonalNameSuffix = 12, // The text input pattern for suffix of a person name PostalAddress = 13, // The text input pattern for complete postal address PostalCode = 14, // The text input pattern for postal code/zip code AddressStreet = 15, // The text input pattern for Street address AddressStateOrProvince = 16, // The text input pattern for state or provience AddressCity = 17, // The text input pattern for city name AddressCountryName = 18, // The text input pattern for Country name AddressCountryShortName = 19, // The text input pattern for short country name CurrencyAmountAndSymbol = 20, // The text input pattern for amount and symbol of currency CurrencyAmount = 21, // The text input pattern for currency amount Date = 22, // The text input pattern for a calendar date DateMonth = 23, // The text input pattern for numeric month in a calendar date DateDay = 24, // The text input pattern for numeric day in a calendar date DateYear = 25, // The text input pattern for numeric year in a calendar date DateMonthName = 26, // The text input pattern for name of the month DateDayName = 27, // The text input pattern for name of the day Digits = 28, // The text input pattern for digits Number = 29, // The text input pattern for number OneChar = 30, // The text input pattern for a single character Password = 31, // The text input pattern for a password TelephoneNumber = 32, // The text input pattern for telephone number TelephoneCountryCode = 33, // The text input pattern for telephone with country code TelephoneAreaCode = 34, // The text input pattern for telephone with area code TelephoneLocalNumber = 35, // The text input pattern for local telephone number Time = 36, // The text input pattern for time TimeHour = 37, // The text input pattern for hour of time TimeMinorSec = 38, // The text input pattern for minutes or seconds of time NumberFullWidth = 39, // The text input pattern for full width number AlphanumericHalfWidth = 40, // The text input pattern for alpha-numeric half-width chars AlphanumericFullWidth = 41, // The text input pattern for alpha-numeric full-width chars CurrencyChinese = 42, // The text input pattern for Chineese currency Bopomofo = 43, // The text input pattern for Chineese phonetic scripts "Bopomofo" Hiragana = 44, // The text input pattern for Hiragana script KatakanaHalfWidth = 45, // The text input pattern for Katakana half-width chars KatakanaFullWidth = 46, // The text input pattern for Katakana full-width chars Hanja = 47, // The text input pattern for Hanja chars Yomi = 48, // The text input pattern for Yomi chars Text = 49, // The text input pattern for text string Chat = 50, // The text input pattern for chat string Search = 51, // The text input pattern for search string NameOrPhoneNumber = 52, // The text input pattern for Name or Phone number EmailNameOrAddress = 53, // The text input pattern for Email address Private = 54, // The text input pattern for private value Maps = 55, // The text input pattern for map input string NumericPassword = 56, // The text input pattern for numeric password ApplicationEnd = 57, // The text input pattern for application end Formula = 57, // The text input pattern for formula }
In this section, we will demonstrate some of the enum values of InputScope and check how it changes the onscreen keyboard of the device. Here we will discuss the following 6 input scope values:
Default Inputscope:
<TextBlock Text="Default: " FontSize="30"/>
<TextBox Width="450" Height="75" InputScope="Default"/>
<TextBlock Text="EmailSmtpAddress: " FontSize="30"/>
<TextBox Width="450" Height="75" InputScope="EmailSmtpAddress"/>
<TextBlock Text="Number: " FontSize="30"/>
<TextBox Width="450" Height="75" InputScope="Number"/>
<TextBlock Text="PostalCode: " FontSize="30"/>
<TextBox Width="450" Height="75" InputScope="PostalCode"/>
<TextBlock Text="TelephoneCountryCode: " FontSize="30"/>
<TextBox Width="450" Height="75" InputScope="TelephoneCountryCode"/>
<TextBlock Text="Time: " FontSize="30"/>
<TextBox Width="450" Height="75" InputScope="Time"/>
Here I demonstrated 6 different input scope examples. Change the input scope name value for the other types and see how your onscreen keyboard looks like inside the device. Hope this chapter was helpful for you to understand this property attribute. Use it properly in various cases while developing your application.
Reference: MSDN Documentation
Thank you for visiting our website!
We value your engagement and would love to hear your thoughts. Don't forget to leave a comment below to share your feedback, opinions, or questions.
We believe in fostering an interactive and inclusive community, and your comments play a crucial role in creating that environment.