Ich möchte wissen, wie man das neueste Zeichen in TextBox schreibt. Es bedeutet nicht das letzte der Saite. Zum Beispiel schreibe ich das:
Dies ist ein Test.
Aber ich habe 's' vergessen, also bewege ich meinen Finger zum 'i' und füge das 's' hinzu:
Dies ist ein Test.
Also, wie kann ich das 's' bekommen?
Ich möchte es in Char oder String bekommen, aber ich weiß nicht, wie es geht ...
Ich hoffe, es ist klar.
Wenn Sie das letzte geschriebene Zeichen erhalten möchten, dann abonnieren Sie TextBox zu KeyDown Ereignis:
C #:
%Vor%XAML:
%Vor%Dann:
%Vor% Wenn Sie den Index des letzten geschriebenen Zeichens erhalten möchten, ist das komplizierter. Eine Lösung könnte darin bestehen, die Mausposition und den Cursor in TextBox
zu verfolgen.
Die Antwort von yBee ist fast korrekt, mit der Ausnahme, dass das Ereignis zumindest unter Windows Phone 8 KeyDown
, nicht KeyPress
heißt.
Schau mal, es könnte helfen. Um das letzte Zeichen eines Textes zu erhalten, ist ein weiterer Vorschlag, ein
anzuhängen "\n"
( nameTextbox.Append("\n")
)
und dann
int lineCount = nameTextbox.Lines.Count();
und schließlich, verwenden Sie die Methode
nameTextbox.GetFirstCharIndexFromLine(lineCount)
.
Dort kannst du (index-1) (oder Was auch immer, sei vorsichtig und teste es mit einem kleineren Text) als Index deines letzten Charakters.
Tags und Links c# windows-phone-8 windows-phone textbox windows-phone-7.1