程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Xamarin Forms - ListView - Array - Header大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Xamarin Forms - ListView - Array - Header?

开发过程中遇到Xamarin Forms - ListView - Array - Header的问题如何解决?下面主要结合日常开发的经验,给出你关于Xamarin Forms - ListView - Array - Header的解决方法建议,希望对你解决Xamarin Forms - ListView - Array - Header有所启发或帮助;

我正在使用 ListVIEw 组件,我想设置使用 ListVIEw 中的 header 的类别。

我拥有的内容是今天、明天和第二天发生的事件的列表

我将如何将其添加到列表中

到目前为止我的代码如下

@H_616_10@ <ListVIEw> <ListVIEw.Itemssource> <x:Array Type="{x:Type x:string}"> <x:string>Event 1 - Today</x:string> <x:string>Event 2 - Today</x:string> <x:string>Event 3 - Today</x:string> <x:string>Event 4 - Today</x:string> <x:string>Event 1 - Tomorrow</x:string> <x:string>Event 2 - Tomorrow</x:string> <x:string>Event 3 - Tomorrow</x:string> </x:Array> </ListVIEw.Itemssource> <ListVIEw.header> <Label Text="Today"/> </ListVIEw.header> <ListVIEw.ItemTemplate> <DataTemplate> <VIEwCell> <Label Text="{Binding}" Style="{Staticresource ListVIEwRacecoursE}" /> </VIEwCell> </DataTemplate> </ListVIEw.ItemTemplate> </ListVIEw>

我只是不知道如何在数组中获取两个值,然后使用 ListVIEw 标头将它们分成两组。

这只是一个 POC,所以我没有包含所有内容的数据库,因此不使用 API 或连接到数据库。

解决方法

关于 ListView Group,Jason 提供了一篇关于详细信息的文章。如果你还有问题,你也可以看看下面的示例。

首先,创建类来保存事件信息。

@H_616_10@public class eventmodel { public String eventname { get; set; } }

然后,一种对数据进行分组的方法,每个列表都有一个标题。

@H_616_10@ public class eventlist:List<eventmodel> { public String heading { get; set; } public List<eventmodel> events => this; }

最后,使用 Observablecollection 绑定到列表视图。表示动态数据集合,在添加、删除项目或刷新整个列表时提供通知。

@H_616_10@public class eventgroup { public ObservableCollection<eventlist> eventgroups { get; set; } public eventgroup() { eventgroups = new ObservableCollection<eventlist>(); var list1 = new eventlist() { new eventmodel() { eventname= "Event 1 - Today" },new eventmodel() { eventname= "Event 2 - Today" },new eventmodel() { eventname= "Event 3 - Today" },new eventmodel() { eventname= "Event 4 - Today" } }; list1.heading = "Today"; var list2 = new eventlist() { new eventmodel() { eventname= "Event 1 - Tomorrow" },new eventmodel() { eventname= "Event 2 - Tomorrow" },new eventmodel() { eventname= "Event 3 - Tomorrow" },new eventmodel() { eventname= "Event 4 - Tomorrow" } }; list2.heading = "Tomorrow"; eventgroups.Add(list1); eventgroups.Add(list2); } }

ListView 显示数据。

@H_616_10@<ListView IsGroupingEnabled="true" Itemssource="{Binding eventgroups}"> <ListView.GroupHeaderTemplate> <DataTemplate> <ViewCell> <Label BACkgroundColor="Red" Text="{Binding heading}" /> </ViewCell> </DataTemplate> </ListView.GroupHeaderTemplate> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <Label Text="{Binding eventnamE}" /> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> public partial class Page6 : ContentPage { public Page6() { InitializeComponent(); this.bindingContext = new eventgroup(); } }

截图:

Xamarin Forms - ListView - Array - Header

大佬总结

以上是大佬教程为你收集整理的Xamarin Forms - ListView - Array - Header全部内容,希望文章能够帮你解决Xamarin Forms - ListView - Array - Header所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:-