如何动画滚动查看器以平滑滚动?

时间:2017-02-17 18:13:58

标签: c# wpf

您好想知道使用什么方法或使用什么方法让Scroll Viewer自己滚动并顺畅地滚动。

我使用计时器让Scroll Viewer使用ScrollViewer.LineDown()滚动计时器刻度事件。唯一的一件事就是它让它在tick事件上逐行跳转。我基本上需要一些滚动idk每秒说100px的东西,直到底部或类似的东西。每次我谷歌我都会找到相同的答案,不适用于我,也许吧。因为制作" CanContentScroll = False"并不是我真正需要的。

2 个答案:

答案 0 :(得分:1)

也许设置VirtualizingPanel.ScrollUnit="Pixel"可以提供帮助:

  <ListBox VirtualizingPanel.ScrollUnit="Pixel"  
                  Name="lv" >

假设您可以找到ScrollViewer:

ScrollViewer sv =  GetChildOfType<ScrollViewer>(lv);
Task timerTask = ScrollPeriodically(sv, TimeSpan.FromSeconds(0.1));

其中

    async Task ScrollPeriodically(ScrollViewer sv, TimeSpan interval)
    {
        while (true)
        {
            sv.ScrollToVerticalOffset(sv.VerticalOffset + 1);
            await Task.Delay(interval, token);
        }
    }

答案 1 :(得分:0)

我相信您正在寻找this article

快捷方式:

  • 手动将偏移量依赖性参数添加到 scrollviewer
  • 复制滚动查看器
  • 使用动画师。

阅读该文章,内容非常详细!