顺便说一下,如果重要的话,我会使用UWP。 所以我使用的是ListView,默认情况下,所有ListView都附加了一个ScrollViewer(在默认模板中)。问题是我找不到ListView完成滚动时触发的事件(在ListView本身或其ScrollViewer上)。
我使用scrollViewer.ChangeView()方法自动滚动到ListView的开头,它使用动画滚动到顶部,所以我认为这与它有关,因为ViewChanged事件在动画之前触发完成。如果我对此是正确的,则必须有一种方法来确定动画是否完整,因为当ListView再次完全空闲时我需要被警告,这仅在滚动动画完成时。感谢。
答案 0 :(得分:4)
您可以连接scrollViewer的ViewChanged event,并查看事件参数的IsIntermediate
。
private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
if (e.IsIntermediate)
{
System.Diagnostics.Debug.WriteLine("scroll ongoing");
}
else
{
System.Diagnostics.Debug.WriteLine("scroll finish");
}
}
此事件多次触发。滚动完成后,IsIntermediate
为false。