我在Windows Phone上。我想在创建新事件时复制日历应用程序的行为。如果您触摸名称文本框,然后按下软键盘的回车键,应用程序会将焦点从此文本框移动到下方的那个。
我不知道如何在我自己的应用程序中这样做。
我猜我必须使用IsTabStop + TabIndex属性,也许还有TabNavigation。
但如果我设置它们,它什么都不会改变。
就像那样:
<TextBox
IsTabStop="True"
TabIndex="1" />
<TextBox
IsTabStop="True"
TabIndex="2" />
这是一个简单的行为,我无法理解为什么我无法弄清楚这一点。
感谢。
答案 0 :(得分:5)
对KeyDown
使用textBox1
事件。并检查if (e.Key == Key.Enter || e.PlatformKeyCode == 0x0A)
并按textBox2.Focus()
答案 1 :(得分:4)
我看到了两种可能的方法。
在第一种情况下,您知道之前和之后的字段,因此您可以对行为进行硬编码。 当用户在textbox1上按“Enter”时,您将专注于textbox2,依此类推。
编辑:这正是@milan-aggarwal所说的。第二个更通用的想法是使用 VisualTreeHelper (http://msdn.microsoft.com/fr-fr/library/system.windows.media.visualtreehelper.aspx)。
当用户按下“Enter”(这很容易检测)时,使用VisualTreeHelper,您可以查看englobing面板的子项,以便选择和聚焦下一个Textbox(或其他类型的UI组件)。
我不知道是否有本地解决方案可以做同样的事情。