C# 如何让WinRT InputScope在C代码而不是XAML中工作?
以下是我的代码,它不起作用:C# 如何让WinRT InputScope在C代码而不是XAML中工作?,c#,xaml,windows-runtime,windows-store-apps,C#,Xaml,Windows Runtime,Windows Store Apps,以下是我的代码,它不起作用: TheTextBox.InputScope = new InputScope(); TheTextBox.InputScope.Names.Add( new InputScopeName( InputScopeNameValue.Number ) ); 当我点击文本框时,没有特殊键盘显示。我刚买了标准键盘 我想让它工作,但Windows8显然不支持这一点。我已经找到了这个问题的答案,但只找到了改变XAML的解决方案。这对我来说不是一个解决方案,因为我不喜
TheTextBox.InputScope = new InputScope();
TheTextBox.InputScope.Names.Add(
new InputScopeName( InputScopeNameValue.Number ) );
当我点击文本框时,没有特殊键盘显示。我刚买了标准键盘
我想让它工作,但Windows8显然不支持这一点。我已经找到了这个问题的答案,但只找到了改变XAML的解决方案。这对我来说不是一个解决方案,因为我不喜欢拥有一堆用户控件,而只是拥有各种输入范围
我已将此代码添加到文本控件的已加载事件处理程序中。正如一个互联网答案所暗示的那样,它在那里仍然不起作用
我试着用“号码”和“电话号码”,但都没有用代码
我正在使用Visual Studio 2012和Windows应用商店C#应用程序项目
谢谢
Dave重新排序:
var inputScope = new InputScope();
inputScope.Names.Add(new InputScopeName( InputScopeNameValue.Number ) );
TheTextBox.InputScope = inputScope;
显然,一旦设置了InputScope
属性,它就不会监视/观察名称列表发生的任何更改。所以,在你的代码中,它总是空的。我已将其更改为创建范围,向其添加
,然后在完成后进行设置
它在我的测试中起作用