Il est très facile de lier Button
s dans les applications WPF à Command
s dans une classe VIEWMODEL
. Je voudrais obtenir une liaison similaire pour un TextBox
.
J'ai un TextBox
et je dois le lier à un Command
qui se déclenche lorsque je frappe Enter tandis que TextBox
est focalisé. Actuellement, j'utilise le gestionnaire suivant pour l'événement KeyUp
, mais il semble laid ... et je ne peux pas le mettre dans ma classe VIEWMODEL
.
private void TextBox_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == System.Windows.Input.Key.Enter)
{
// your event handler here
e.Handled = true;
MessageBox.Show("Enter Key is pressed!");
}
}
Y a-t-il une meilleure manière de faire cela?
J'ai rencontré le même problème et trouvé la solution ici , voici l'exemple de code:
<TextBox>
<TextBox.InputBindings>
<KeyBinding Command="{Binding Path=CmdSomething}" Key="Enter" />
</TextBox.InputBindings>
</TextBox>
J'aime la réponse de Sarh, mais cela ne fonctionnerait pas dans mon programme, sauf si j'ai changé Enter
en Return
:
<TextBox>
<TextBox.InputBindings>
<KeyBinding Key="Return" Command="{}" />
</TextBox.InputBindings>
</TextBox>