需要xaml中的列表的帮助绑定列表。
已经尝试使用Nested Listview实现相同的功能,但这会使我的应用在滚动时崩溃。我猜这不是一个好主意。
这是我的父级模型班:
public class Parent
{
public string Id { get; set; }
public string Name { get; set; }
public List<Child> ChildList { get; set; }
}
儿童班:
public class Child
{
public string ChildName{ get; set; }
}
ViewModel:
public ObservableCollection< Parent > MyList = new ObservableCollection< Parent >();
在“我的列表”中,我获得了一个“父”对象列表,每个对象都包含ID,名称和“ ChildList”对象,该对象也是一个包含ChildName的列表(多个ChildList对象)
在项目源为“ MyList”的列表视图中,我希望“名称”作为包含“ ChildList”(多个“ ChildName”的标题)的标题
类似:
Name1
-ChildName1
-ChildName2
-ChildName3
Name2
-ChildName1
-ChildName2
我可以使用listview分组实现相同的目的吗?如果是这样,有人可以帮我实施,因为我无法正确分组数据。
答案 0 :(得分:0)
我认为您可能需要重新审视您的设计。如果我个人试图做一些类似我了解您正在尝试做的事情,那么我将处理这两种方法之一。
第一种方式,我将从父母的列表视图开始。然后,我将处理clicked / tap事件(取决于您要开发的平台),以便在主页上打开第二个较小的listview,显示被单击/ tap的父级的子级。在子列表视图以外的其他任何地方单击/轻击都会将其丢弃。
我想到的第二种方法是简单地将父级添加到列表视图,然后添加所有子级。列出以下内容:
void FillParentListView(List<Parent> parents)
{
foreach(Parent p in parents)
{
listview.Items.Add(p);
foreach(Child c in p.ChildList)
listview.Items.Add(c);
}
}
第二种选择的缺点是,您可能需要创建不同的单元格设计,以使其易于区分父母和孩子,并且每次您想从列表视图中读取信息时,都需要尝试强制转换以查看其内容。被选中。