【发布时间】:2018-03-17 04:30:28
【问题描述】:
在 Windows 桌面上运行时如何使用 Xamarin 表单刷新列表? 看来我们不能拉刷新。 谢了。
弗朗索瓦
【问题讨论】:
标签: win-universal-app xamarin.forms
在 Windows 桌面上运行时如何使用 Xamarin 表单刷新列表? 看来我们不能拉刷新。 谢了。
弗朗索瓦
【问题讨论】:
标签: win-universal-app xamarin.forms
在 Xamarin Forms 上的 ListView 中拉动刷新需要您实现这 3 件事。
IsPullToRefreshEnabled="True" RefreshCommand="{Binding RefreshListCommand}" IsRefreshing="{Binding IsBusy, Mode=OneWay}"
如果你有这三样东西,PullToRefresh 就可以了。
但是,我一直在查看 UWP 的代码,但在任何地方都找不到 Xamarin Forms 如何为 WinRT 或 UWP 实现 PullToRefresh。查看文档,不支持 WinRT,因此我认为此时也不支持 UWP。
目前只有 WP8SL、iOS 和 Android 支持 PullToRefresh。
【讨论】:
试试看。为我工作。
<ListView ItemsSource="{Binding MyList}"
IsPullToRefreshEnabled="True"
RefreshCommand="{Binding RefreshCommand}"
IsRefreshing="{Binding IsRefreshing}" />
设置 IsPullToRefreshEnabled=”True” 以启用该功能,然后在您的 ViewModel 中创建这两个属性。
private bool _isRefreshing = false;
public bool IsRefreshing {
get { return _isRefreshing; }
set {
_isRefreshing = value;
OnPropertyChanged(nameof(IsRefreshing));
}
}
public ICommand RefreshCommand
{
get {
return new Command(async () =>
{
IsRefreshing = true;
await RefreshData();
IsRefreshing = false;
});
}
}
现在当你从列表视图顶部下拉时,它会显示一个刷新动画,而IsRefreshing=”true”.
例子
【讨论】: