2012-03-15 42 views
3

後我使用Longlistselector綁定聊天消息。綁定後,我需要顯示最後一條消息。但是默認情況下,它將成爲最重要的信息。我嘗試滾動到最後一項「(ScrollTo(lastmessage))」,但它不起作用。任何人都可以提供解決方案。滾動到longlist選擇特定項目結合

+1

也許AnimateTo()方法將幫助 – KrazZ88 2012-03-15 12:52:38

+2

ScrollTo()應該可以正常工作,但要注意它使用從Object繼承的Equals()方法,因此它可能會對對象執行實例比較......您確定你的lastmessage對象是與列表中的同一個實例嗎? – 2012-03-15 14:30:33

回答

0

嘗試設置SelectedItemIndex到最後一個項目的索引。

+0

selectedItem在選擇時不會自動進入視圖,因此這不起作用。 – 2012-03-15 14:05:43

+0

我說的是索引,而不是項目。當你改變選定的索引時,它會滾動到它。正確地與列表框工作 – 2012-03-19 13:29:00

+1

Deployment.Current.Dispatcher.BeginInvoke(()=> { ScrollTo(LastItem); });我們需要添加一個線程來滾動 – kishore 2012-04-04 12:29:50

1

您是否嘗試過使用AnimateTo(),並傳遞給它的最後一個項目在列表中。

或者,您可以詢問控件的可視化樹並訪問內部[Templated]列表框的ScrollViewer並調用ScrollToVerticalOffset

+0

AnimateTo()標有ObsoleteAttribute,和源代碼,可以看出,它是所有調用ScrollTo()方法 – 2012-03-15 14:26:14

2

其他人則通過在列表框調用ScrollIntoView前UpdateLayout請()()獲得了成功。

+2

這工作,我已經添加它之前的滾動到(項目),沒有更多的例外,謝謝你! – 2013-02-25 13:15:42