J'ai un problème avec le filigrane. J'ai un gestionnaire d'événements keydown comme celui-ci.Dilemme avec filigrane sur KeyDown
if (e.Key == Key.Tab)
{
FocusManager.GetFocusedElement();
if (FocusManager.GetFocusedElement() == txtPassword)
btnLogin.Focus();
else if (FocusManager.GetFocusedElement() == txtUserName)
txtPassword.Focus();
else
txtUserName.Focus();
}
il fonctionne très bien, mais quand l'accent est mis sur btnLogin, lorsque vous appuyez sur l'onglet, l'accent va directement à la boîte de mot de passe. J'ai inséré des points d'arrêt en vain. Il ne transmet le code qu'une seule fois et entre dans l'instruction else. Des idées? Merci pour toutes les réponses.
Y at-il une raison particulière pour laquelle vous n'utilisez pas la fonctionnalité de tabulation intégrée? –
@competent_tech oui. C'est parce que nous avons quelques problèmes techniques en cours d'exécution de cette application sur MAC. Le problème sur Mac est que lorsque je tabulation de txtUserName, la tabulation va à la barre d'adresse sur le navigateur. C'est pourquoi j'essaie de coder en dur celui-ci. – Nathan
Ouch. Je suppose que vous avez vérifié les tabindexes sur les contrôles pour être sûr qu'ils sont dans le bon ordre au cas où l'implémentation de mac est juste en train de les sélectionner? –