2016-08-29 11 views
5

私は現在、.NETクラス用の電卓アプリケーションを作っています。ボタンを使うと電卓は完璧に機能します。しかし、キーボードでキーを使用すると、うまく動作しません。たとえば、Enterキーを押すと、電卓でテキストボックス内の問題を計算します。代わりに、Enterは最後にクリックしたボタンを押して問題につなぎます。これを防ぐ方法を教えてください。キーの問題を入力してください

私はそれが奇妙な説明だと知っていますが、それをより良く説明する方法はわかりません。

+0

あなたは常に、ボタンに等しいがフォーカスを持っていることを確認できました。 – ProgrammingDude

+4

['KeyBinding']の使用を検討してください(https://msdn.microsoft.com/en-us/library/system.windows.input.keybinding(v = vs.110).aspx) – Xiaoy312

+0

上記のようにキーバインドするか、KeyUpと押されたキーに基づいて行動する。 –

答えて

1

ウィンドウ/ユーザーコントロールのルートレベルで、戻りキーストロークにInputBindingを追加します。これはキーストロークを傍受し、ボタンをクリックしたかのようにコマンドを実行します(Commandプロパティもそのコマンドにバインドされていると仮定します)。ユーザーコントロールと

例:

<UserControl.InputBindings> 
    <KeyBinding Key="Return" Command="{Binding EvaluateCommand}"/> 
</UserControl.InputBindings>  
関連する問題