1. ホーム
  2. wpf

[解決済み] テキストボックスの Enter キーをキャプチャする

2023-07-06 10:09:44

質問

WPFのビューで、以下のようにEnterキーにイベントを結びつけようとしています。

<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>

このコードは動作し、ユーザーが Enter キーを押したときに EnterKeyCommand が発生します。しかし、問題はイベントが発生したとき、WPFはまだテキストボックス内のテキストを'SearchCriteria'にバインドしていないことです。したがって、私のイベントが発生したとき、'SearchCriteria'のコンテンツは空白です。EnterKeyコマンドが発生したときにテキストボックスの内容を取得できるように、このコードで私が行うことができる簡単な変更がありますか?

どのように解決するのですか?

を変更する必要があります。 UpdateSourceTrigger を変更する必要があります。 TextBox.Text へのバインディングを PropertyChanged . 参照 をご覧ください。 .