天天看點

WPF 窗體基類實作的體驗及實作回車到下一控件

原文:

WPF 窗體基類實作的體驗及實作回車到下一控件

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/jsyhello/article/details/7216509

1、窗體基類實作參考

http://weblogs.asp.net/psheriff/archive/2009/11/02/creating-a-base-window-class-in-wpf.aspx

2、基類不能像WinForm窗體一樣寫Loaded事件(寫了也是不執行的)

沒辦法隻好寫一個方法讓所有繼承者調用了

3、Enter鍵改為TAB的實作

        /// <summary>

        /// 将回車改為TAB

        /// </summary>

        /// <param name="e"></param>

        protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e)

        {

            if (e.Key == System.Windows.Input.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);

        }

歡迎通路:

http://121.18.78.216

适易查詢分析、工作流、内容管理及項目管理示範平台

繼續閱讀