2011-01-31 5 views
3

J'ai une classe qui hérite de la zone de texte WPF et j'ai surchargé l'OnTextChanged, OnTextInput, OnKeyDown maintenant à la partie drôle ..L'héritage WPF TextBox KeyDown ne se déclenche pas sur l'espace?

Si je presse quelque chose, mais Espace tous les 3 événements sont déclenchés, mais si je appuyez sur espace seul le OnTextChanged est déclenché? alors pourquoi l'espace ne compte-t-il pas comme une clé ou une entrée de texte?

Répondre

7

Vous devez gérer l'événement PreviewKeyDown car l'espace est géré par défaut et donc utilisé par l'infrastructure.

+0

puis-je demander pourquoi l'espace est géré en aperçu et pas de la manière normale comme le reste des touches ?, mais oui mal essayer. – Peter

+0

@Petoj Tout dépend de l'implémenteur, que l'événement soit marqué comme manipulé ou non. Théoriser est que cela a quelque chose à voir avec la mise en page textuelle car elle affecte également la touche Entrée lorsque le TextBox.AcceptsReturn est marqué comme vrai. –

Questions connexes