0

如何将两个列表视图与 xamarin.forms 中的标题分开。到目前为止,我必须知道我可以使用组 Listviews 来实现这一点。但我不确定如何实现这一点。所有通过静态数据实现它的源,但在我的情况下,Listview 项是动态的。

它是如何通过静态数据实现的。

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 应该包含从服务器调用返回的数据列表。

我想要这样的东西。 我想要这样的列表视图

谁能帮我解决这个问题。

谢谢你。

4

1 回答 1

0

设置IsGroupingEnabledtrue

<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>
于 2018-12-27T11:55:23.103 回答