UWP ListView 快速 Return 页脚
UWP ListView Quick Return Footer
我知道 Windows.Community.Toolkit 有一个 QuickReturn
ScrollHeader
。但这仅适用于 Header
,因为页脚的折叠方向与页眉不同。
如何为 ListView
快速制作 return 页脚?我正在寻找一些可以帮助我执行此操作的滚动事件。
你可以尝试用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
,主要是为了消除鼠标无意识滚动或者触摸,减少误报。
此致。
我知道 Windows.Community.Toolkit 有一个 QuickReturn
ScrollHeader
。但这仅适用于 Header
,因为页脚的折叠方向与页眉不同。
如何为 ListView
快速制作 return 页脚?我正在寻找一些可以帮助我执行此操作的滚动事件。
你可以尝试用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
,主要是为了消除鼠标无意识滚动或者触摸,减少误报。
此致。