UWP ListView 快速返回页脚

Posted

技术标签:

【中文标题】UWP ListView 快速返回页脚【英文标题】:UWP ListView Quick Return Footer 【发布时间】:2020-01-16 07:55:35 【问题描述】:

我知道 Windows.Community.Toolkit 有一个 QuickReturn ScrollHeader。但这仅适用于Header,因为页脚的折叠方向与页眉不同。

如何为ListView 快​​速返回页脚?我正在寻找一些可以帮助我做到这一点的滚动事件。

【问题讨论】:

【参考方案1】:

你可以尝试使用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,主要是为了消除鼠标或触摸的无意识滚动,减少误报。

最好的问候。

【讨论】:

谢谢!如果我不想立即隐藏页脚怎么办?我的意思是在滚动时隐藏页脚。有什么方法可以让footer往下移一点? 两种方式,第一种,您可以将 Margin's Bottom 设置为负值。二、使用RenderTransform -> TranslateTransform.Y 调整控件在Y轴上的位置。

以上是关于UWP ListView 快速返回页脚的主要内容,如果未能解决你的问题,请参考以下文章

UWP 隐藏 TabView 页脚

关于理解布局单位

UWP ValueConverter 返回 System._COMObject

Android——ViewHolder的作用与用法

UWP IsNullOrEmptyStateTrigger 不适用于 ListView

更新 ListView 页脚