Xaml 在Windows Phone 8.1应用程序上以编程方式多次更改textbox的输入范围

Xaml 在Windows Phone 8.1应用程序上以编程方式多次更改textbox的输入范围,xaml,windows-phone-8.1,inputscope,Xaml,Windows Phone 8.1,Inputscope,我试图在运行时以编程方式更改Windows Phone 8.1应用程序中文本框的输入范围,但此更改仅在第一次起作用 我有这个xaml页面: 而这个.cs页面: 使用Windows.UI.Xaml; 使用Windows.UI.Xaml.Controls; 使用Windows.UI.Xaml.Input; 使用Windows.UI.Xaml.Navigation; 命名空间输入范围测试 { 公共密封部分类主页面:第页 { 公共主页() { this.InitializeComponent();

我试图在运行时以编程方式更改Windows Phone 8.1应用程序中文本框的输入范围,但此更改仅在第一次起作用

我有这个xaml页面:


而这个.cs页面:

使用Windows.UI.Xaml;
使用Windows.UI.Xaml.Controls;
使用Windows.UI.Xaml.Input;
使用Windows.UI.Xaml.Navigation;
命名空间输入范围测试
{
公共密封部分类主页面:第页
{
公共主页()
{
this.InitializeComponent();
this.NavigationCacheMode=NavigationCacheMode.Required;
}
受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e)
{
}
私有无效按钮Pha_单击(对象发送者,路由目标)
{
InputScope范围=新的InputScope();
InputScopeName name=新的InputScopeName();
name.NameValue=InputScopeNameValue.AlphanumericFullWidth;
范围.名称.添加(名称);
textBox.InputScope=范围;
}
私有无效按钮数字单击(对象发送者,路由目标)
{
InputScope范围=新的InputScope();
InputScopeName name=新的InputScopeName();
name.NameValue=InputScopeNameValue.Number;
范围.名称.添加(名称);
textBox.InputScope=范围;
}
}
}
在emulator和windows phone 8.1设备上,文本框的输入范围仅在您第一次点击其中一个按钮时才会正确更改。例如,如果我先点击“数字”按钮,输入范围将正确更改为数字键盘。但是如果我点击“Alpha”按钮,输入范围不会像应该的那样变成字母数字键盘

上面的代码取自,看起来只有在第一次更改范围时才有效。第二次更改被忽略


我做错什么了吗?是否有其他方法可以通过编程多次设置文本框的输入范围?

非常奇怪,您的代码在windows phone 10设备上运行,但在windows phone 8.1上运行不正常,这似乎是windows phone 8.1最新版本中的一个错误。