Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何让WinRT InputScope在C代码而不是XAML中工作?_C#_Xaml_Windows Runtime_Windows Store Apps - Fatal编程技术网

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
属性,它就不会监视/观察
名称列表发生的任何更改。所以,在你的代码中,它总是空的。我已将其更改为创建范围,
向其添加
,然后在完成后进行设置

它在我的测试中起作用