拉动以刷新UWP-网格视图

本文关键字:网格 视图 UWP- 刷新 | 更新日期: 2023-09-27 17:58:32

有人能告诉我在UWP上实现Pull刷新的"正确"方法吗?


以下是我发现的一些例子,但我不确定哪一个使用了最好的方法:

  • 用于ListView的Microsoft示例-这是有效的,但它特定于ListView控件
  • AmazingPullToRefresh是一个NuGet包,它也可以工作,但在样式方面有些有限
  • PullToRefreshUWP_WindowsComposition是另一个例子,但它的工作方式与其他两个不同,因为它不使用扩展类

任何建议都非常感谢

拉动以刷新UWP-网格视图

这个问题没有标准答案,基本上我们需要实现两点:

  1. 当用户在控制上拉东西时,获取偏移量的变化

  2. 生成一些指示符以通知用户


XamlPullToRefresh和PullToRefreshUWP_WindowsComposition都使用新的Windows Composition API:Windows.UI.Composition命名空间

参考Windows.UI.组成概述

API是对现有框架(如XAML)的强大补充为UWP应用程序的开发人员提供一个熟悉的C#表面他们的应用。这些API也可以用于创建DX样式无框架应用程序。

请注意,此API仅适用于Windows 10。


AmazingPullToRefresh使用Manipulation API并通过计算偏移量变化来实现所有内容。类似的实现可以在这里找到


如果你想实现一个很酷的拉-刷新控制,我建议你使用Windows.UI.Composition API。您可以从这里开始

微软不使用拉取刷新功能。

重新加载页面/数据是我们在考虑网站等应用程序时仍然会想到的事情。

为什么不建立一个同步数据库,并始终使用本地数据库中更改的数据更新用户界面?例如,参见firebase.google.com

如果你无论如何都想实现这个功能,那真的没有办法了。我使用了NuGet中的PullToRefresh.UWP库。有关教程,请参见:codeproject.com

经过一些调整,它是有效的,但有时当我在拉下横杆后抬起手指时,横杆就不会再上升了。

所以答案是:对不起,但没有人能给你一个关于如何以"正确"的方式做到这一点的答案。但是有正确的方法吗?就像编程中几乎总是一样。这取决于你将使用它的情况。希望这对你有帮助。