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.
Index - Windows Phone 7 (Mango) Tutorial
What is Input Scope?
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.
What is Input Scope name Value?
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
}
Demonstration
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:
This is the default input scope of a TextBox in Windows Phone 7. If you don't specify, it takes the same input and shows the default keyboard on screen.
Email SMTP Adress Inputscope:
The above code will show a different onscreen keyboard with the special keys like '@', '.com' etc. which are specific to email address.
Number Inputscope:
If you specify number input scope to your TextBox control, it will only show the numeric keypad in the screen. Other keys will not be visible in the screen. For details, see the screenshot.
Postal Code Inputscope:
Postal Input scope will add some additional keys in the default view of onscreen keyboard. It has numeric keys along with special keys.
Telephone Country Code Inputscope:
In this input scope type, you will have a numeric keypad in the onscreen keyboard that looks as a telephone keypad.
Time Inputscope:
In this input scope, you will have basic keys to enter the characters require to specify time value. This includes numbers, special characters.
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