我正在为Windows Phone制作应用程序,我已经尝试了很长时间,以便在方向更改为横向时更改主文本框的InputScope(这样键盘在没有自动更正条的情况下占用更少的空间),又回来了.
我尝试了第二个文本框,并将其他文本框隐藏在方向更改上,但这不能很好地工作.:P
尝试我可能无法使其工作,并且无法在OrientationChangedEvent参数之后更改InputScope值,该参数在改变页面元素围绕方向的位置方面效果很好.
我仍然很擅长使用C#和XAML开发应用程序,我希望有一个很好的简单方法来设置我的文本框的InputScope,你们中的一个人可以告诉我!
-EDIT:这是事件处理程序,里面的一切工作都很好,但是我尝试添加任何与InputScope有关的方法都不起作用:(
private void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
if ((e.Orientation & PageOrientation.Portrait) == (PageOrientation.Portrait))
{
//Portrait
PlaceholderText.FontSize = 29.333;
PlaceholderText.Padding = new Thickness (0,0,0,0);
MainTweet.FontSize = 29.333;
MainTweet.Padding = new Thickness (12,8,12,8);
Counter.Margin = new Thickness (0,212,28,0);
}
else
{
//Landscape
PlaceholderText.FontSize = 23;
PlaceholderText.Padding = new Thickness (8,0,0,0);
MainTweet.FontSize = 22;
MainTweet.Padding = new Thickness (16,8,180,0);
Counter.Margin = new Thickness (0,-18,28,0);
}
}
Run Code Online (Sandbox Code Playgroud)
MainTweet.Text是键盘默认关注的文本框,当页面更改为横向时我很乐意将其从"搜索"InputScope更改为另一个,可能是"URL".当方向改变时,当前在那里的东西很好地重新排列页面上的元素,我很欣赏它可能看起来不那么整洁......
我试图只提供一个数字键盘.我一直在左边获得字符的特殊字符区域,而我只想在右边有数字区域.
(见下图)

XAML:
<TextBox x:Name ="EmployeeId" InputScope="Number" />
Run Code Online (Sandbox Code Playgroud)
C#:
var inputScope = new InputScope ();
var inputScopeName = new InputScopeName();
inputScopeName.NameValue = InputScopeNameValue.Number;
inputScope.Names.Add(inputScopeName);
EmployeeId.InputScope = inputScope;
Run Code Online (Sandbox Code Playgroud)
我读过了:
http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.input.inputscopenamevalue.aspx http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn792128 http://msdn.microsoft.com/en-us/library/windows/apps/hh393998(v=vs.105).aspx
我也搜索了stackoverflow帖子.
有谁知道如何让我的Window RT应用程序只显示数字键盘.当InputScope是Number,TelephoneNumber或NumberFullWidth时,预期下面会出现什么?
谢谢.担
[下面编辑(可能的解决方案)]
我决定创建一个新的应用程序并尝试...
<StackPanel Grid.Row="2" Grid.Column ="0" Grid.ColumnSpan="2" Width ="300">
<TextBox Header ="Telephone Number" InputScope="TelephoneNumber"/>
<TextBox Header ="Pin" InputScope="NumberFullWidth"/>
<TextBox Header ="Numeric Password" InputScope="Number"/>
<TextBox Header ="Web site" InputScope="Url"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
在Windows应用商店应用程序中,您将获得上图中的行为.在Window Phone应用程序中,您得到的结果我只是数字键盘.呸...重新创建真的很简单.
我正在寻找一种方法来实现Textbox的InputScope,就像在Wp7中完成一样,但是使用经典的WPF.
我想要实现的是,输入仅限于使用十进制数字.我怎样才能做到这一点?
<TextBox Text="{Binding Amount, Mode=TwoWay}" InputScope="Number"/>
Run Code Online (Sandbox Code Playgroud)
InputScope是经典WPF的有效属性,但遗憾的是它似乎不起作用.
我有在电话申请页面中添加成员的形式,在该表格中,一个字段是ZIP CODE,那么如何在文本更改事件上获得数字键盘?谢谢!!