Попробовав сочетания вышеизложенных предложений, я смог надежно назначить фокус нужному текстовому полю в дочернем элементе управления UserControl следующим образом. В основном, сфокусируйтесь на дочернем элементе управления, и пусть дочерний UserControl фокусируется на его TextBox. Оператор focus TextBox сам по себе вернул true, но не дал желаемого результата, пока пользовательский элемент управления также не получил фокус. Я должен также отметить, что UserControl не смог запросить фокус для себя и должен был быть предоставлен окном.
Для краткости я пропустил регистрацию событий Loaded в Window и UserControl.
Window
private void OnWindowLoaded(object sender, RoutedEventArgs e)
{
ControlXYZ.Focus();
}
UserControl
private void OnControlLoaded(object sender, RoutedEventArgs e)
{
TextBoxXYZ.Focus();
}