原文:
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.aspx2、基類不能像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适易查詢分析、工作流、内容管理及項目管理示範平台