ListBox.ScrollIntoView () scheint in WP7 nicht zu funktionieren

8

Hey Leute, ich möchte die Listbox-Bildlaufleiste nach unten verschieben, wenn ein neues Element zur Item-Quelle hinzugefügt wird, aber ScrollIntoView () scheint nichts zu tun, wenn ich ihm entweder einen Verweis auf das neu hinzugefügte Objekt übergebe, oder der Index davon. Hat jemand das zur Arbeit gebracht oder irgendwelche anderen Vorschläge, wie ich die Listbox nach unten scrollen könnte?

Irgendein Code:

%Vor%     
Henry C 11.10.2010, 09:13
quelle

4 Antworten

28

MSDN sagt:

Wenn sich der Inhalt der ItemsSource-Auflistung ändert, insbesondere wenn viele Elemente zur Auflistung hinzugefügt oder daraus entfernt werden, müssen Sie möglicherweise UpdateLayout () aufrufen, bevor Sie ScrollIntoView aufrufen, um in das Ansichtsfenster zu blättern.

Könnte das Ihr Problem sein?

    
Jac 14.10.2010, 02:10
quelle
3

ScrollIntoView funktioniert definitiv. Ich habe gerade eine Anwendungsschaltfläche zu einer leeren datengebundenen Anwendung hinzugefügt und die folgenden Aktionen beim Klicken auf die Schaltfläche führten zu einem Bildlauf der Liste.

%Vor%

Kann ein Problem mit einem Ereignis in selectionChanged auftreten? Hast du irgendetwas damit verbunden? Funktioniert ScrollIntoView, wenn Sie das ausgewählte Objekt nicht festlegen?

    
Matt Lacey 11.10.2010 10:08
quelle
3

Dies ist die Antwort:

Ссылка

Mit ein paar Worten: Die Elemente werden asynchron in die ListBox geladen. Wenn Sie also ScrollIntoView () innerhalb des CollectionChanged-Ereignisses (o.ä.) aufrufen, hat es noch keine Elemente, also kein Scrollen.

Hoffe es hilft, es hat mir sicher geholfen! ; -)

    
Hannish 05.11.2012 10:31
quelle
-1

Sie können das neue Element immer an der Spitze einfügen

yourItemList.Insert (0, Element);

also keine Notwendigkeit für ScrollIntoView. Möge das helfen !!

    
user2717906 26.08.2013 11:34
quelle