簡體   English   中英

如何檢測ScrollViewer何時完成滾動?

[英]How to detect when a ScrollViewer finishes scrolling?

順便說一句,我在使用UWP以防萬一。 因此,我使用的是ListView,默認情況下,所有ListView都具有一個ScrollViewer附加到它們(默認模板)。 問題是我找不到在ListView完成滾動時觸發的事件(在ListView本身或其ScrollViewer上)。

我使用了scrollViewer.ChangeView()方法自動滾動到ListView的開始,並且它使用動畫滾動到頂部,所以我認為這與它有關,因為ViewChanged事件在動畫完成之前觸發。 如果對此我是正確的,那么就必須有一種方法來確定動畫是否完成,因為當ListView再次完全空閑時(僅在滾動動畫完成時),我需要被警告。 謝謝。

您可以連接scrollViewer的ViewChanged事件 ,然后檢查事件參數的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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM