private void FindKeyboardFocus(Base control) { if (null == control) return; if (control.KeyboardInputEnabled) { //Make sure none of our children have keyboard focus first - todo recursive if (control.Children.Any(child => child == KeyboardFocus)) { return; } control.Focus(); return; } FindKeyboardFocus(control.Parent); return; }