Laden...

WPF: ListBox: Fokus auf TextBox innerhalb von ListBoxItems setzen?

Erstellt von Edward vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.449 Views
E
Edward Themenstarter:in
118 Beiträge seit 2007
vor 13 Jahren
WPF: ListBox: Fokus auf TextBox innerhalb von ListBoxItems setzen?

Hallo zusammen.

Der Thread-Titel sollte eigentlich schon alles sagen: ich habe eine ListBox die an eine ObservableCollection<> gebunden ist. Das DataTemplate der ListBox beinhaltet u.a. eine TextBox in der ein String aus dem gebundenen Objekt angezeigt wird (TwoWay Binding).

Wird der Liste ein neues Element hinzugefügt würde ich gerne den Fokus auf die TextBox des neuen Items setzen. Zur Design-Zeit kann ich darauf "hard coded" ja nicht zugreifen, da die Elemente erst zur Laufzeit erzeugt werden.

Hat jemand einen Tipp für mich?

Vielen Dank schon einmal im Voraus.

Edward

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Edward,

eine solche ähnliche Frage hatte ich auch mal gestellt Focusierung "zwischen" Controls. Hilft dir das weiter?

zero_x

E
Edward Themenstarter:in
118 Beiträge seit 2007
vor 13 Jahren

Hallo zero_x,

leider ist das nicht ganz das, was ich brauche. Bei dir handelte es sich um bereits existierende ListBoxItems, die bei einem Klick auf den innenliegenden Button fokussiert werden sollten.
Bei mir wird per Programmcode ein Object zu einer ObservableCollection hinzugefügt. Da die an die ListBox gebunden ist wird die ListBox sofort aktualisiert - also das neue Objekt als ListBoxItem hinzugefügt. Und genau in diesem Moment soll programmatisch ein Textfeld, das sich innerhalb des neuen ListBoxItems befindet, den Fokus erhalten.

Der Hintergrund ist folgender: per Kontextmenü kann der Anwender der Liste ein neues Objekt hinzufügen. Damit er nun aber nicht extra noch in das Textfeld klicken muss sondern gleich lostippen kann soll der Fokus beim neu angelegten Element gleich in der Textbox stehen.

Geht das irgendwie?

Viele Grüße,
Edward

5.299 Beiträge seit 2008
vor 13 Jahren

Geht sowas nicht, indem man eine CollectionViewSource zwischenschaltet? Im View von der kann man doch programmatisch CurrentPosition setzen, das raist auch ein Event, da müsste man doch iwie das Setzen Focus' hinkriegen.

Der frühe Apfel fängt den Wurm.

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo Erfinderdesrades,
Ja, das funktionierte. Wenn man eine CollectionViewSource hat, dann muss man nur noch das IsSynchronizedWithCurrentItem einschalten um die Selektierung über die Currentposition zu setzen

Dann ist aber nur das Iren selektiert und nicht die Textbox fokussiert

Greetz
Michael from Mobile. 😃