我在这里尝试了代码。
的Xaml:
<TextBox Header="Telephone Number" InputScope="TelephoneNumber"/>
CS:
TextBox phoneNumberTextBox = new TextBox();
phoneNumberTextBox.Header="Telephone Number";
InputScope scope = new InputScope();
InputScopeName scopeName = new InputScopeName();
scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
scope.Names.Add(scopeName);
phoneNumberTextBox.InputScope = scope;
但是当我按下键盘上的任何键时,它会在文本框中显示任何一个,请帮助我。
答案 0 :(得分:1)
阅读文档https://msdn.microsoft.com/library/windows/apps/hh702632
输入范围提供了期望的文本输入类型的提示 控制。系统的各种元素可以响应提示 由输入范围提供,并为输入提供专门的UI 类型。例如,触摸键盘可能会显示文本的数字键盘 当控件的InputScope设置为Number时输入。
控件还可能会以不同方式解释输入的数据 (通常用于东亚相关的输入范围)。输入范围 不执行任何验证,并且不会阻止用户 通过硬件键盘或其他输入设备提供任何输入。
答案 1 :(得分:1)
如果要限制文本框中的字符尝试在文本框中添加Key_Down事件。
<TextBox Name="textbox" KeyDown="textbox_KeyDown" MaxLength="10"InputScope="Number" />
和C#代码
private void textbox_KeyDown(object sender, KeyRoutedEventArgs e)
{
if ((e.Key < VirtualKey.NumberPad0 || e.Key > VirtualKey.NumberPad9) & (e.Key < VirtualKey.Number0 || e.Key > VirtualKey.Number9))
{
e.Handled = true;
}
}
答案 2 :(得分:0)
这是我的解决方案
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (ValorPlantilla)'