如何动画滚动查看器以平滑滚动?
问题描述:
嗨想知道什么方法或使用什么来使滚动查看器自己并顺利滚动。如何动画滚动查看器以平滑滚动?
我正在使用计时器使ScrollViewer使用ScrollViewer.LineDown()在计时器标记事件上滚动。唯一的一点是这使得它在tick事件中一行一行地跳下去。我基本上需要滚动idk的东西,比如说每秒100px,直到底部或类似的东西。每次我谷歌我一直找到相同的答案,不适用于我,也许。因为制作“CanContentScroll = False”并不是我所需要的。
答
也许设置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);
}
}