85 votes

La capture de la touche Entrée dans une zone de texte

Dans mon WPF point de vue, je suis en train d'essayer de lier un événement à la touche Entrée comme suit:

<TextBox Width="240" VerticalAlignment="Center" Margin="2" Text="{Binding SearchCriteria, Mode=OneWayToSource}">
  <TextBox.InputBindings>
      <KeyBinding Key="Enter" Command="{Binding EnterKeyCommand}"/>
      <KeyBinding Key="Tab" Command="{Binding TabKeyCommand}"/>
  </TextBox.InputBindings>
</TextBox>

Ce code fonctionne et mon EnterKeyCommand déclenche lorsque l'utilisateur appuie sur la touche Entrée. Cependant, le problème est que lorsque l'événement est déclenché, WPF n'a pas encore tenu le texte dans la zone de texte 'SearchCriteria'. Alors, quand mon événement se déclenche, le contenu de 'SearchCriteria' est vide. Est-il un simple changement que je peux faire dans ce code afin que je puisse obtenir le contenu de la zone de texte lorsque mon EnterKey de commande des feux?

75voto

micahtan Points 6457

Vous avez besoin de changer la UpdateSourceTrigger sur votre zone de texte.Texte de liaison à PropertyChanged. Voir ici.

10voto

Barrakoda Points 175

Vous pouvez aussi faire cela dans le code derrière.

Comment: Détecter Quand la Touche Enter Enfoncée

Dans la case pour entrer/de retour, il suffit d'invoquer votre code de gestionnaire d'événements.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X