如何让 WinRT 输入范围在 C# 代码中工作,而不是 XAML
本文关键字:工作 XAML 代码 WinRT 输入 范围 | 更新日期: 2023-09-27 18:33:39
这是我的代码不起作用:
TheTextBox.InputScope = new InputScope();
TheTextBox.InputScope.Names.Add(
new InputScopeName( InputScopeNameValue.Number ) );
当我点击文本框时,没有显示特殊的键盘。我只是得到标准键盘。
我想让它工作,但Windows 8显然不支持这个。我已经搜索了这个问题的答案,但只找到了说要改变 XAML 的解决方案。这对我来说不是一个解决方案,因为我不喜欢拥有一堆用户控件只是为了拥有各种输入范围。
我已将此代码添加到文本控件的 Loaded 事件处理程序中。正如一个互联网答案所暗示的那样,它在那里仍然不起作用。
我尝试使用"号码"和"电话号码",但两者都不适用于代码。
我正在使用Visual Studio 2012和Windows Store C#应用程序项目。
谢谢。
戴夫
重新排序:
var inputScope = new InputScope();
inputScope.Names.Add(new InputScopeName( InputScopeNameValue.Number ) );
TheTextBox.InputScope = inputScope;
显然,一旦您设置了 InputScope
属性,它就不会监视/观察Names
列表发生的任何更改。因此,在您的代码中,它始终为空。我已经更改了它以创建范围,Add
它,然后在完成后设置它。
它在我的测试中有效。