Enterキーを押すとプロパティがtrueに設定されている場合、TextBox
のイベントは発生しません。 がtrue
に設定されたTextBox
でEnterキーが押されたときを確認するにはどうすればよいですか? XAMLでUWPのTextBoxでKeyDownイベントが発生しない
答えて
私は以下のコードを試みたが、私にとってはその作品、
var textBox = new TextBox();
KeyEventHandler keyeventHandler = new KeyEventHandler(textBox_KeyDown);
textBox.AddHandler(TextBox.KeyDownEvent, keyeventHandler, true);
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
*** now Enter Key gets fired eventhough when i set AcceptsReturn as True ***
}
:
<TextBox VerticalAlignment="Top" KeyDown="TextBox_KeyDown"/>
背後にあるコードで:
private void TextBox_KeyDown(object sender, KeyRoutedEventArgs e)
{
Debug.WriteLine(e.Key);
}
出力から、あなたはそれが認識されている入力します見ることができます。
申し訳ありませんが、私は押した場合、キー、KeyDownイベントが発生しません入力してください。 TextBox Handles Enterキーが押されたとき。 TextBoxのAccepts Returnsをtrueに設定しなかった場合、Enterキーを押すとKey downイベントが発生します。しかし、私がAcceptsReturnをtrueに設定した場合、KeyDownイベントは発生しません。 –
Enterキーを押すと、テキストボックスのキーダウンイベントが発生しません。これは、テキストボックスのAccepts Returnプロパティをtrueに設定した場合にのみ発生します。
このAcceptsReturn
がtrueに設定されている場合ので、Enterキーを押すと、TextBox
は改行文字を許可するので、それは新しい行を開始し、KeyDownイベントが解雇されることはありません。 Otherwiser、false(デフォルトではfalse)に設定されている場合、Enterキーを押すと、入力フォーカス状態のTextBox
になり、KeyDownイベントが発生することがあります。
Enterキーが押されたときはどうすればわかりますか?
私はあなたがこのシナリオでは、Enterキーを識別するために、KeyDownイベントを使用することはできません怖いが、入力したキーが押されたとき、それは新しい行を開始しますので、あなたが通知を受けるために背後にあるコードでTextBox.TextChanged eventを使用することができます。
こんにちは@Grace、回答ありがとうございますが、私は解決策を見つけました。私はこのシナリオのためにHandlerを使用しましたが、今は解雇されます。 –
- 1. asp.netのサーバー側でTextBox keydownイベント
- 2. Xamarin UWP Map CustomRendererでイベントが発生しないのはなぜですか?
- 3. キーアップが発生した後にkeydownイベントを続ける方法
- 4. UWP TextBoxテキストバインドが機能しない
- 5. TextBox MainWindowのロードイベントが発生したときに発生するTextChangedイベント
- 6. C#WindowsフォームのKeyDownイベントが頻繁に発生する
- 7. DataTemplate内のTextBoxイベントが発生しません
- 8. winforms keydownイベントが動作しない
- 9. C#Keydownイベントが機能しない
- 10. - (void)keyDown:(NSEvent *)イベントが機能しない
- 11. DataGridView KeyDownイベントが機能しない
- 12. UWP TimedMetadataTrackイベントが発生していません
- 13. 埋め込みフォームのkeydownイベントをオーバーライドした後に、firemonkeyの埋め込みフォームでKeydownイベントが発生しない
- 14. Chromeでfullscreenchangeイベントが発生しない
- 15. AxWindowsMediaPlayerでイベントが発生しない
- 16. カスタムユーザーコントロールでイベントが発生しない
- 17. GridViewでOnCheckedChangedイベントが発生しない
- 18. iPadでwebkitfullscreenchangeイベントが発生しない
- 19. KeyDownイベントでのキャンバス上でのスムース要素モーションUWP
- 20. なぜasp.netユーザーコントロール内でtextbox onchangeイベントが正しく発生しないのですか?
- 21. イベントエミッションでイベントアニメーションが発生しない(またはイベントが発生しない)
- 22. LinqのOnValidateイベントが発生しない
- 23. のKeyDownイベントが正しく
- 24. テキストをプログラムで変更するとTextBoxのText_Changedイベントが発生しないのはなぜですか?
- 25. mousedownイベントが発生していない
- 26. JavaScriptのClickイベントでイベントのバブリングやバブリングが発生しない
- 27. VS2015インストールでエラーが発生し、Xamarin UWPが動作しない
- 28. C# - TextBox TextChangedイベントが起動しない
- 29. jQuery `.live()`イベントが発生しないデバッグ
- 30. イベントが発生しないLaravel 5.0。*
'.AddHandler'のように見えるのは、[第3パラメータ、' handlesEventsToo'](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.uielement#Windows_UI_Xaml_UIElement_AddHandler_)です。 MSDNでは、「*ルーティングされたイベントを再処理するように日常的に要求していません。これは、コントロール合成のためのWindowsランタイムイベントシステムの意図された設計に干渉するためです」*その他の欠点:「Enter」をオフにするのは遅すぎます。 'e.Handled = true; 'を設定しても、TextBoxにEnterが起きるのを止めることはできません。しかしそれ以外の場合は素晴らしい答えです。これは機能します。 – ruffin