您的位置:首页 > 其它

WPF 回车转Tab实现跳转

2010-01-29 13:18 204 查看
1.重写窗体的KeyDown事件

Code Snippet protected override void OnKeyDown(KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        // MoveFocus takes a TraveralReqest as its argument.
        TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);

        // Gets the element with keyboard focus.
        UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;

        // Change keyboard focus.
        if (elementWithFocus != null)
        {
            elementWithFocus.MoveFocus(request);
        }
        e.Handled = true;
    }
    base.OnKeyDown(e);
}
2.在基容器如Grid的KeyDown事件中

Code Snippet <Grid KeyDown="Grid_KeyDown">
实现代码

Code Snippet private void Grid_KeyDown(object sender, KeyEventArgs e)
{
    var uie = e.OriginalSource as UIElement;
    if (e.Key == Key.Enter)
    {
        uie.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
        e.Handled = true;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: