【发布时间】:2020-01-16 07:55:35
【问题描述】:
我知道 Windows.Community.Toolkit 有一个 QuickReturn ScrollHeader。但这仅适用于Header,因为页脚的折叠方向与页眉不同。
如何为ListView 快速返回页脚?我正在寻找一些可以帮助我做到这一点的滚动事件。
【问题讨论】:
标签: c# xaml uwp win-universal-app
我知道 Windows.Community.Toolkit 有一个 QuickReturn ScrollHeader。但这仅适用于Header,因为页脚的折叠方向与页眉不同。
如何为ListView 快速返回页脚?我正在寻找一些可以帮助我做到这一点的滚动事件。
【问题讨论】:
标签: c# xaml uwp win-universal-app
你可以尝试使用ScrollViewer包裹ListView来获取ScrollViewer的滚动事件。
xaml
<Grid>
<ScrollViewer ViewChanged="ScrollViewer_ViewChanged" VerticalAlignment="Stretch">
<ListView>
...
</ListView>
</ScrollViewer>
</Grid>
xaml.cs
private double scrollLocation = 0;
private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
var viewer = sender as ScrollViewer;
if (viewer.VerticalOffset > scrollLocation + 3)
{
// scroll down, show the footer
}
else if (viewer.VerticalOffset < scrollLocation - 3)
{
// scroll up, hide the footer
}
scrollLocation = viewer.VerticalOffset;
}
通过监听ScrollViewer的ViewChanged事件,可以判断滚动方向,原因是+3,-3,主要是为了消除鼠标或触摸的无意识滚动,减少误报。
最好的问候。
【讨论】: