如何在滚动视图中滚动时识别何时到达列表末尾

时间:2020-06-08 08:18:43

标签: wpf scrollviewer

我的滚动视图如下。现在我的情况是,最初,滚动查看器将显示10个项目。当滚动条到达第十项时,我需要实现一些功能。现在的问题是我无法识别滚动条何时到达最后一项。我尝试将ScrollChanged事件与垂直偏移一起使用,但这似乎不起作用。有什么办法可以做到这一点。

                        <ScrollViewer x:Name="ChatListScrollViewer" Background="#ffffff" Grid.Column="0" ScrollChanged="ChatListScrolled" Focusable="False">
                        <VirtualizingStackPanel VerticalAlignment="Stretch">
                            <ItemsControl VirtualizingStackPanel.VirtualizationMode="Recycling" Background="White" x:Name="MessageList"  ItemsSource="{Binding Source={StaticResource ChatList}}" Focusable="False" BorderBrush="Transparent" BorderThickness="0" HorizontalAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Hidden" x:FieldModifier="public">
                                <ItemsControl.GroupStyle>
                                    <GroupStyle>
                                        <GroupStyle.HeaderTemplate>
                                            <DataTemplate>
                                                <!-- Code -->
                                            </DataTemplate>
                                        </GroupStyle.HeaderTemplate>
                                    </GroupStyle>
                                </ItemsControl.GroupStyle>
                                <ItemsControl.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel  Margin="0">
                                            <!-- Code -->
                                        </StackPanel>
                                    </DataTemplate>
                                </ItemsControl.ItemTemplate>
                            </ItemsControl>
                        </VirtualizingStackPanel>
                    </ScrollViewer>

编辑:对于我的情况,滚动是从下到上。 How to find that ScrollViewer is scrolled to the end in WPF?对于向下滚动时检测的最后一项很有用。 在我的情况下,它是一个类似的聊天应用程序。当滚动条向上滚动并到达最后一条消息时,我需要获取更多数据。

0 个答案:

没有答案