Laden...

WPF: Inhalt von TextBox per Klick markieren

Erstellt von theYoRecords vor 11 Jahren Letzter Beitrag vor 11 Jahren 4.369 Views
T
theYoRecords Themenstarter:in
73 Beiträge seit 2012
vor 11 Jahren
WPF: Inhalt von TextBox per Klick markieren

Hallo!

An sich hört sich das nach einem typischen Anfängerproblem an, aber ich weiß wirklich nicht mehr weiter. Ich hab schon alle relevanten Events durchprobiert, aber immer mit dem selben Ergebnis: Wenn man in die TextBox klickt wird der Text zwar markiert, jedoch verschwindet die Markierung auch sofort wieder.
Ich erinnere mich vor diesem Problem schon einmal gestanden zu sein, kann mich aber an die Lösung nicht erinnern. Und im Internet konnte ich bis jetzt auch nichts brauchbares finden.
Kann mir jemand sagen wie man dieses Problem in WPF löst und wieso es überhaupt dazu kommt? In WF funktioniert es schließlich ganz normal...

Danke im Voraus!

3.430 Beiträge seit 2007
vor 11 Jahren

Hallo theYoRecords,

wenn du das im GotFocus Event machst dann kommt es zu dem beschriebenen Problem.

Wenn du es hingegen im GotKeyboardFocus und GotMouseCapture machst dann sollte es so funktionieren wie von dir gewünscht.

Da bleibt aber auch noch die Frage ob es wirklich so gut für den Benutzer ist. Weil wenn du solch eine Funktion einbaust dann kann der Benutzer nicht mehr nur einen Teil vom Text selektieren, oder copy / paste etc. verwenden. Das führt dann zu Problemen.
Aber das nur am Rande 😉

PS: Guck mal hier in der zweiten Antwort: How to automatically select all text on focus in WPF TextBox?

Grüße
Michael

T
theYoRecords Themenstarter:in
73 Beiträge seit 2012
vor 11 Jahren

Vielen Dank für deine Hilfe!

Wenn du es hingegen im GotKeyboardFocus und GotMouseCapture machst dann sollte es so funktionieren wie von dir gewünscht.

Wie gesagt, ich hab es schon in allen relevanten Events versucht. Hatte aber überall den gleichen Effekt.

Da bleibt aber auch noch die Frage ob es wirklich so gut für den Benutzer ist. Weil wenn du solch eine Funktion einbaust dann kann der Benutzer nicht mehr nur einen Teil vom Text selektieren, oder copy / paste etc. verwenden. Das führt dann zu Problemen.

In diesem Fall ist das kein Problem weil der Benutzer das alles nicht benötigt. Es handelt sich um 2 kleine TextBoxen zur Eingabe einer Uhrzeit. Eine für die Stunden und die andere für die Minuten.

Guck mal hier in der zweiten Antwort: How to automatically select all text on focus in WPF TextBox?

Danke ür den Link! Der hat mein Problem gelöst. Extra eine eigene Klasse dafür zu erstellen war mir aber zu Umständlich, also hab ich die Extension (vorletzter Beitrag) verwendet.