如何在 Xamarin 表单中实现分页
Posted
技术标签:
【中文标题】如何在 Xamarin 表单中实现分页【英文标题】:How to achieve Pagination in Xamarin forms 【发布时间】:2021-12-26 13:42:06 【问题描述】:我需要在列表视图页面中实现分页。在这里,我在一个表中显示成百上千条记录,因此需要分页功能。
由于记录的数量,无限向下滚动方法不可行。与附图相同。
【问题讨论】:
您尝试过轮播视图吗? docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/… 谷歌xamarin forms listview pagination
。 (我个人不会使用 CarouselView 来执行此操作。)
根据你的说法,你有很多数据,不管你用数据库,都可以根据页数控制显示的数据。
【参考方案1】:
<ScrollView>
<SomeDataContentView Data=Binding SelectedData />
</ScrollView>
<StackLayout BindableLayout.ItemSource=Binding ListOfPageNumber
x:Name="SomeStack"
Orientation="Horizontal">
<BindableLayout.ItemTemplate>
<DataTemplate>
<Button Text=Binding .
Command=Binding Path=BindingContext.SelectPage_Command, Source=x:Reference SomeStack
CommandParameter=Binding .
</DataTemplate>
</BindableLayout.ItemTemplate>
视图模型:
public SelectPage_Command = new Command((param) =>
var pageNo = (int)param;
SelectedData = DataDividedByPage[pageNo];
);
SomeDataContentView.cs:
SomeDataContentView : ContentView
public static readonly BindableProperty DataProperty = BindableProperty.Create(
nameof(Data), typeof(string), typeof(SomeDataContentView ), defaultValue: "", propertyChanged: DoSomethingWhenDataChanged);
public string Data
get => (string)GetValue(DataProperty perty);
set => SetValue(DataProperty , value);
并创建您的 SomeDataContentView.xaml 以显示您想要的数据。
这可能是我的做法。
我是凭记忆完成的,跳过了一两件事。但如果你需要我,我稍后会回来。
【讨论】:
以上是关于如何在 Xamarin 表单中实现分页的主要内容,如果未能解决你的问题,请参考以下文章