Wie bekomme ich die normalen Zeichen von einem WPF KeyDown-Ereignis?

8

Ich möchte die ASCII-Zeichen, die von der e.Key -Eigenschaft von einem WPF KeyDown -Ereignis übergeben werden.

    
Malcolm 28.01.2009, 08:47
quelle

3 Antworten

5

Leider gibt es keinen einfachen Weg, dies zu tun. Es gibt 2 Problemumgehungen, aber beide fallen unter bestimmten Bedingungen ab.

Das erste ist, es in eine Zeichenkette umzuwandeln:

%Vor%

Dies wird Ihnen Dinge wie CapsLock und Shift usw. geben, aber im Fall der alphanumerischen Tasten wird es Ihnen nicht in der Lage sein, Ihnen den Zustand der Schicht usw. zu sagen, also müssen Sie es tun Finde das heraus.

Die zweite Alternative besteht darin, stattdessen das TextInput-Ereignis zu verwenden, wobei e.Text den tatsächlich eingegebenen Text enthält. Dadurch erhalten Sie das korrekte Zeichen für alphanumerische Tasten, aber Sie erhalten keine Steuerzeichen.

    
Steven Robbins 28.01.2009 09:05
quelle
4

Aus Ihrer knappen Frage gehe ich davon aus, dass Sie einen Weg brauchen, um den ASCII-Wert für die gedrückte Taste zu erhalten. Dies sollte funktionieren

%Vor%

z.B. Wenn Sie Strg + S drücken, sehen Sie die folgende Ausgabe.

%Vor%     
Gishu 28.01.2009 09:40
quelle
-3

System.Enum.ToObject (e.Key.GetType (), (Byte) e.Key) .ToString ();

    
onur 24.03.2011 21:52
quelle

Tags und Links