2016-08-29 3 views
5

Ich mache gerade eine Taschenrechner-App für meine .NET-Klasse. Der Taschenrechner funktioniert einwandfrei, wenn ich die Tasten benutze. Aber wenn ich Tasten auf der Tastatur verwende, funktioniert das nicht so gut. Wenn ich zum Beispiel die Eingabetaste drücke, möchte ich, dass der Rechner das Problem im Textfeld berechnet. Stattdessen drückt die Eingabetaste die Taste, die ich zuletzt angeklickt hatte, was zu Problemen führt. Wie kann ich das verhindern?Enter Key

Ich weiß, das ist eine seltsame Erklärung, aber ich weiß nicht, wie ich es besser erklären soll.

+0

Sie können sicherstellen, dass Ihre Schaltfläche hat immer gleich Fokus. – ProgrammingDude

+4

Verwenden Sie [KeyBinding] (https://msdn.microsoft.com/en-us/library/system.windows.input.keybinding (v = vs.110) .aspx) – Xiaoy312

+0

Keybinding wie oben oder Monitor KeyUp und handeln basierend auf der gedrückten Taste. –

Antwort

1

Fügen Sie auf der Stammebene Ihres Fensters/Benutzersteuerelements einen InputBinding für den Return-Tastenanschlag hinzu. Dadurch wird der Tastendruck abgefangen und der Befehl ausgeführt, als ob Sie auf die Schaltfläche geklickt hätten (vorausgesetzt, die Eigenschaft Command ist ebenfalls an diesen Befehl gebunden).

Beispiel mit einem Usercontrol:

<UserControl.InputBindings> 
    <KeyBinding Key="Return" Command="{Binding EvaluateCommand}"/> 
</UserControl.InputBindings>  
Verwandte Themen