後我使用Longlistselector綁定聊天消息。綁定後,我需要顯示最後一條消息。但是默認情況下,它將成爲最重要的信息。我嘗試滾動到最後一項「(ScrollTo(lastmessage))」,但它不起作用。任何人都可以提供解決方案。滾動到longlist選擇特定項目結合
回答
嘗試設置SelectedItemIndex到最後一個項目的索引。
selectedItem在選擇時不會自動進入視圖,因此這不起作用。 – 2012-03-15 14:05:43
我說的是索引,而不是項目。當你改變選定的索引時,它會滾動到它。正確地與列表框工作 – 2012-03-19 13:29:00
Deployment.Current.Dispatcher.BeginInvoke(()=> { ScrollTo(LastItem); });我們需要添加一個線程來滾動 – kishore 2012-04-04 12:29:50
您是否嘗試過使用AnimateTo()
,並傳遞給它的最後一個項目在列表中。
或者,您可以詢問控件的可視化樹並訪問內部[Templated]列表框的ScrollViewer並調用ScrollToVerticalOffset
。
AnimateTo()標有ObsoleteAttribute,和源代碼,可以看出,它是所有調用ScrollTo()方法 – 2012-03-15 14:26:14
其他人則通過在列表框調用ScrollIntoView前UpdateLayout請()()獲得了成功。
這工作,我已經添加它之前的滾動到(項目),沒有更多的例外,謝謝你! – 2013-02-25 13:15:42
也許AnimateTo()方法將幫助 – KrazZ88 2012-03-15 12:52:38
ScrollTo()應該可以正常工作,但要注意它使用從Object繼承的Equals()方法,因此它可能會對對象執行實例比較......您確定你的lastmessage對象是與列表中的同一個實例嗎? – 2012-03-15 14:30:33