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
Hallo Edward,
eine solche ähnliche Frage hatte ich auch mal gestellt Focusierung "zwischen" Controls. Hilft dir das weiter?
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
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
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.
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. 😃