[c#] Enterキーを押したときに起動するWPF TextBoxのコマンド



Answers

私は同じ問題に直面してhereで解決策を見つけましhere 。ここにコードサンプルがあります:

<TextBox>
  <TextBox.InputBindings>
    <KeyBinding Command="{Binding Path=CmdSomething}" Key="Enter" />
  </TextBox.InputBindings>
</TextBox>
Question

WPFアプリケーションのButton VIEWMODELクラスのCommandにバインドするのは非常に簡単です。 私はTextBox同様のバインディングを達成したいと思いTextBox

私はTextBoxを持っており、 TextBoxがフォーカスされている間にEnterキーTextBoxと起動するCommandにバインドする必要がありTextBox 。 現在、私はKeyUpイベントに以下のハンドラを使用していますが、見た目は醜いです...私は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!");
    }
}

これを行うより良い方法はありますか?




trueをAcceptReturnプロパティに設定できます。

 <TextBox AcceptsReturn="True" />



Links