私の Windows アプリケーションでは、AcceptsReturn プロパティを True に設定して、複数行のテキスト ボックスを作成しました。これにより、ユーザーは複数行のテキストをテキスト ボックスに入力できます。また、テキストボックスでReturn/Enterキーを押すたびに何かしたいです。イベントハンドラのコードは次のとおりです...
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
// do something here
}
AcceptsReturn が True に設定され、Return キーが押された場合、このイベント ハンドラはまったく呼び出されないようです。その他のキー押下は適切に検出されます。AcceptsReturn が True に設定されておらず、Return キーが押された場合、イベント ハンドラが呼び出され、Return キーの押下が問題なく検出されます。これに関する問題は、Return キーを押してもユーザーがテキストボックスの新しい行に進まないことです (予想どおり)。したがって、Return キーを押して、ユーザーをテキストボックスの新しい行に適切に進めるだけでなく、その Return キーを押したことを検出できるようにしたいと考えています。私のアプローチは間違っていますか?これを行うより良い方法はありますか?