Récemment, j'ai résolu ce problème d'une connexion écran de démarrage est affiché via un storyboard, lorsque la fenêtre principale est chargée pour la première fois.
Je crois qu'il y avait deux clés pour le fixer. L'un était de faire de l'élément contenant l'accent portée. L'autre était de gérer la table de montage séquentiel événement Terminé pour le story-board qui a été déclenchée par la fenêtre en cours de chargement.
Ce storyboard fait le nom d'utilisateur et le mot de passe de la toile visible et puis s'en étant à 100% opaque. L'essentiel est que le nom d'utilisateur de contrôle n'était pas visible jusqu'à ce que le storyboard couru et, par conséquent, que le contrôle ne pouvait pas obtenir de clavier se concentrer jusqu'à ce qu'elle était visible. Ce qui m'a jeté pour un certain temps, qu'elle avait "focus" (c'est à dire l'accent est vrai, mais il s'avère que ce n'était que le focus logique) et je ne savais pas que WPF avait le concept de logique et le focus du clavier jusqu'à ce que la lecture de Kent Boogaart de la réponse et de la recherche à Microsoft WPF texte du lien
Une fois que je n'ai que la solution pour mon problème est simple:
1) Faire de l'élément contenant l'accent portée
<Canvas FocusManager.IsFocusScope="True" Visibility="Collapsed">
<TextBox x:Name="m_uxUsername" AcceptsTab="False" AcceptsReturn="False">
</TextBox>
</Canvas>
2) Joindre le formulaire de Gestionnaire d'Événement à la table de montage séquentiel
<Storyboard x:Key="Splash Screen" Completed="UserNamePassword_Storyboard_Completed">
...
</Storyboard>
et
3) de mettre mon nom d'utilisateur zone de texte pour avoir le focus clavier dans la table de montage terminé gestionnaire d'événement.
void UserNamePassword_Storyboard_Completed(object sender, EventArgs e)
{
m_uxUsername.Focus();
}
Noter que l'appel de l'élément.Focus() des résultats de l'appel du Clavier.Focus(ce), de sorte que vous n'avez pas besoin d'appeler explicitement. Voir cette question à propos de la différence entre le Clavier.Focus(item) et l'élément.Le Focus.