在WPF应用程序中,我有一个包含很多字段的窗口.当用户在填充每个字段后使用TAB键时,Windows会理解它会移动到下一个字段.这是非常了解的行为.
现在我想要的是,它使模拟TAB键,实际上RETURN被击中.所以在我的WPF xaml中,我添加了暗示KeyDown="userPressEnter"
在它背后的代码中:
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
e.Key = Key.Tab // THIS IS NOT WORKING
}
}
Run Code Online (Sandbox Code Playgroud)
现在,显然这不起作用.但我不知道的是,我如何使这项工作?
编辑1 ==>找到一个解决方案
我找到了帮助我的东西=)
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);
MoveFocus(request);
}
}
Run Code Online (Sandbox Code Playgroud)
这样,焦点移动到下一个它可以找到:)
Nic*_*ray 13
你可以在这里看一篇文章:http: //social.msdn.microsoft.com/Forums/en/wpf/thread/c85892ca-08e3-40ca-ae9f-23396df6f3bd
这是一个例子:
private void textBox1_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);
request.Wrapped = true;
((TextBox)sender).MoveFocus(request);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27957 次 |
| 最近记录: |