如何结合使用xamarin.forms中的标头分隔的两个列表视图。到目前为止,我已经知道我可以使用Listviews组来实现此目的。但是我不确定如何实现这一点。所有通过静态数据实现它的源都可以,但是在我的情况下Listview项是动态的。 / p>
这是通过静态数据实现的方式。
List<GroupListModel> Groups = new List<GroupListModel>
{
new GroupListModel("list1","list1")
{
new UserModel
{
FirstName = "list 1-1",
LastName= "12",
},
},
new GroupListModel("list2","list2")
{
new UserModel
{
FirstName = "list2-1",
LastName= "1",
},
new UserModel
{
FirstName = "list2-2",
LastName= "2",
},
new UserModel
{
FirstName = "list2-3",
LastName= "3",
},
new UserModel
{
FirstName = "list 2-4",
LastName= "4",
},
},
};
All = Groups;
这是我的群组列表模型,
public class GroupListModel:List<UserModel>
{
public string Title { get; set; }
public string ShortName { get; set; }
public string Subtitle { get; set; }
public GroupListModel(string title, string shortName)
{
Title = title;
ShortName = shortName;
}
public List<UserModel> Listofusers;
public static List<GroupListModel> All { set; get; }
},
现在,我想要的是list1中的数据必须是动态的,即List1 listitems应该包含从服务器调用返回的数据列表。
我想要这样的东西。 I want a listview like this
有人可以帮我吗?
谢谢。
答案 0 :(得分:0)
将IsGroupingEnabled
设置为true
。
<ListView ItemsSource="{Binding GroupList}" IsGroupingEnabled="True">
<ListView.GroupHeaderTemplate>
<DataTemplate>
<ViewCell>
<Label Text="{Binding Title}" />
</ViewCell>
</DataTemplate>
</ListView.GroupHeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Spacing="5">
<Label Text="{Binding FirstName}" />
<Label Text="{Binding LastName}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>