wpf 控件回车事件中调用tab实现方法
一般普通控件:
在主窗体(MianWindow)窗体中重写OnKeyDown事件
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);
}
特殊的控件,如DatePicker控件上面事件是不会响应的,要自己在App.xaml.cs文件中重写OnStartup事件,并且重写注册键盘按下去事件
 protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            EventManager.RegisterClassHandler(typeof(DatePicker),
            DatePicker.PreviewKeyDownEvent,
            new KeyEventHandler(DatePicker_PreviewKeyDown));
        }
private void DatePicker_PreviewKeyDown(object sender, 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;
            }
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号