我很努力使ListView
自動向下滾動到底部,每次將新項目添加到ItemsSource
時。據this post,我所要做的就是使用以下方法:使用WinRT XAML Toolkit
自動滾動到WinRT App中的ListView底部
private void ScrollToBottom()
{
var scrollViewer = MyListView.GetFirstDescendantOfType<ScrollViewer>();
scrollViewer.ScrollToVerticalOffset(scrollViewer.ScrollableHeight);
}
。但它沒有效果我每次添加或刪除ListView的項目集合中的元素時,都會調用此方法。沒有自動滾動。
而在XAML,那麼,還有ListView控件:
<ScrollViewer>
<ListView x:Name="LinesListView"
ItemsSource="{Binding Lines}"
ItemTemplate="{StaticResource LineItemTemplate}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel>
<StackPanel.ChildrenTransitions>
<TransitionCollection>
<EntranceThemeTransition/>
</TransitionCollection>
</StackPanel.ChildrenTransitions>
</StackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
</ScrollViewer>
有,另一方面另一種解決方案,我上面提供的同一鏈路上,但它不顯示列表視圖項動畫即使我嘗試在XAML中指定它。
我在這裏錯過了什麼?
任何建議非常感謝,謝謝。
你知道最新的listview是什麼嗎? –
是的,他們都OK,綁定工作正常,它只是...不向下滾動,這就是爲什麼我不知道和如何解決它... – VasileF
我想你可能會在項目之前滾動完全添加和創建。您可能能夠創建一個自定義的ListView來覆蓋OnItemsChanged,以確保它在項目進入後滾動。 –