WPF 窗體基類實現的體驗及實現回車到下一控制元件
1、窗體基類實現參考
http://weblogs.asp.net/psheriff/archive/2009/11/02/creating-a-base-window-class-in-wpf.aspx
2、基類不能像WinForm窗體一樣寫Loaded事件(寫了也是不執行的)
沒辦法只好寫一個方法讓所有繼承者呼叫了
3、回車鍵改為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 適易查詢分析、工作流、內容管理及專案管理演示平臺