在Windows Phone中打开仅数字键盘?

时间:2012-03-13 19:27:57

标签: c# silverlight windows-phone-7.1

如何设置键盘在数字模式下打开或直接打开一个特殊的数字键盘(如在android中)?我的目标是避免用户在输入可能只是数字值的值之前按下小按钮来切换字母和数字。我有一个用户需要编辑的文本框。谢谢!!!!

3 个答案:

答案 0 :(得分:48)

InputScope设置为Number

<强> XAML

<TextBox InputScope="Number" Name="txtPhoneNumber" />

<强> C#

InputScope scope = new InputScope();
InputScopeName name = new InputScopeName();

name.NameValue = InputScopeNameValue.Number;
scope.Names.Add(name);

txtPhoneNumber.InputScope = scope;

以上从this MSDN article获取的代码段,您可以查看这些代码段以获取更多信息。正如Martin在评论中添加的那样,您还可以看到不同InputScope选项here的屏幕截图。

答案 1 :(得分:7)

How to: Change the On-Screen Keyboard Input Scope in Windows Phone

<TextBox InputScope="Number" Name="txtPhoneNumber" />

答案 2 :(得分:7)

InputScope="Number"  

TextBox numercicTextBox = new TextBox(); 
// ...propriétés de la textbox à initialiser + l'ajouter dans le ContentPanel
numercicTextBox.KeyDown += new KeyEventHandler(numercicTextBox_KeyDown);

 void numercicTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(e.Key.ToString(),"[0-9]"))
                e.Handled = false;
            else e.Handled = true;

        }