Laden...

Textbox nach Auswahl automatisch in Fokus setzen

Erstellt von Aeternius vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.200 Views
A
Aeternius Themenstarter:in
2 Beiträge seit 2019
vor 4 Jahren
Textbox nach Auswahl automatisch in Fokus setzen

Hallo zusammen, ich hoffe ich bin hier richtig...

Ich habe mir ein kleines Programm geschrieben das mir 5 Textboxen als String in eine Datei schreibt.

Ebenfalls habe ich es geschafft, dass der Inhalt der Textboxen bei Mausklick sowie TAB-Sprung markiert wird.

Woran ich gerade verzweifele ist, dass nach drücken der ENTER-Taste zwar alles korrekt geschrieben wird, der Text in der aktuellen Textbox jedoch nicht automatisch markiert wird. Man kann also nicht direkt weiterschreiben sondern muss erst den aktuellen Inhalt manuell löschen...

Unter Windows Forms klappte das alles, unter WPF verzweifel ich gerade...

Hat jemand ne Idee wie ich das hinbekomme?

PS: Ich bin kein Informatiker, ich mach das nur Hobby-Mäßig... 😁

Grüße, Stefan

P
441 Beiträge seit 2014
vor 4 Jahren

Wie hast du es denn bis jetzt probiert?

Für WPF empfiehlt sich das MVVM Entwurfsmuster ( [Artikel] MVVM und DataBinding ). Da würde dein Szenario ungefähr wie folgt aussehen:

im ViewModel werden deine 5 Textboxen durch String Properties repräsentiert. Der Enter Button wird als ICommand Implementierung getriggert und übergibt die 5 Strings an einen Service um sie dann wieder zu leeren.
Den Rest mach Datenbindung.

A
Aeternius Themenstarter:in
2 Beiträge seit 2019
vor 4 Jahren

Hallo Papst, Danke für deine schnelle Antwort am Feiertag.

Bislang sind die Events per Eventhandler realisiert. (PreviewMouseLeftButtonDownEvent, GotKeyboardFocusEvent und MouseDoubleClickEvent)

Der Eingabe Button ist schlicht auf default gesetzt, so dass ENTER ihn automatisch triggert.

Es klappt auch alles wunderbar, nur dass nach der Eingabe der Cursor eben hinter der Eingabe stehen bleibt anstatt den Text zu markieren.

Hintergrund: Es ist ein kleines Bestellprogramm. Und wenn mehrere Ersatzteilnummern eingegeben werden ist es effizienter ENTER zu drücken und danach direkt weiterzuschreiben...

Grüße, Stefan

edit: Die Textfelder sollen nicht geleert werden, da die 4 anderen Textfelder die Eingaben behalten sollen.

Edit v2.0: Habs hinbekommen. Hab schlicht und einfach einen GetFocus auf textBox1 gelegt, der bei Betätigung des Eingabe-Buttons getriggert wird. Nicht elegant, aber ausreichend