C# 按下软键盘的enter键时,将焦点从一个文本框移动到另一个文本框
我用的是Windows Phone。我想在创建新事件时复制日历应用程序的行为。如果您触摸name文本框,并按下软键盘的enter键,应用程序会将焦点从该文本框移动到正下方的文本框 我不知道如何在我自己的应用程序中做到这一点 我猜我必须使用IsTabStop+TabIndex属性,也许还有TabNavigation 但如果我设置它们,它不会改变任何东西 就像这样:C# 按下软键盘的enter键时,将焦点从一个文本框移动到另一个文本框,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,我用的是Windows Phone。我想在创建新事件时复制日历应用程序的行为。如果您触摸name文本框,并按下软键盘的enter键,应用程序会将焦点从该文本框移动到正下方的文本框 我不知道如何在我自己的应用程序中做到这一点 我猜我必须使用IsTabStop+TabIndex属性,也许还有TabNavigation 但如果我设置它们,它不会改变任何东西 就像这样: <TextBox IsTabStop="True" TabIndex="1" /> <TextBox I
<TextBox
IsTabStop="True"
TabIndex="1" />
<TextBox
IsTabStop="True"
TabIndex="2" />
这是一个简单的行为,我无法理解为什么我不能独自解决这个问题
谢谢。为
textBox1
使用KeyDown
事件。检查if(e.Key==Key.Enter | | e.PlatformKeyCode==0x0A)
并通过textBox2.focus()
将焦点切换到另一个文本框
在第一种情况下,您知道前后的字段,因此可以硬编码行为。
当用户在textbox1上按“回车”键时,您将关注textbox2,依此类推
编辑:这正是@milan aggarwal所说的
第二个更通用的想法是使用VisualTreeHelper()
当用户按“Enter”(这很容易检测)时,使用VisualTreeHelper,您可以查看englobing面板的子项,以便下一个文本框(或其他类型的UI组件)进行选择和聚焦
我不知道是否有本机解决方案可以做同样的事情。尝试功能焦点或选择更改为另一个文本框。遗憾的是,没有内置的解决方案。这是移动应用程序的常见行为。“搜索”InputScope提供了漂亮的白色大输入按钮,这使行为更加明显。缺点是您失去了自动更正功能。是否有人制作了帮助者附件或其他相关内容?我可以把它放在一个容器上,然后说,处理任何输入事件,然后就这么做,类似于倾斜效果(带有选择退出)。