Я думаю, вам может понадобиться еще раз взглянуть на ваш дизайн.Если бы я лично пытался сделать что-то вроде того, что, как я понимаю, вы пытаетесь сделать, я бы справился с одним из этих двух способов.
Первый способ, я бы начал с просмотра списка родителей.Затем я бы обработал событие clicked / tapped (в зависимости от того, какую платформу вы хотите использовать), чтобы открыть второе, меньшее представление списка на главной странице, отображающее дочерние элементы родительского элемента, который был нажат / нажат.Нажатие / нажатие в любом месте экрана, кроме дочернего списка, уберет его.
Второй способ, который я могу себе представить, - это просто добавить родителя в список и затем добавить всех его потомков.Вот что-то из этого:
void FillParentListView(List<Parent> parents)
{
foreach(Parent p in parents)
{
listview.Items.Add(p);
foreach(Child c in p.ChildList)
listview.Items.Add(c);
}
}
Недостаток этого второго варианта в том, что вам, вероятно, понадобится создавать различные конструкции ячеек, чтобы было легко различать родительский и дочерний элементы, и вам нужно будет пытаться приводить каждый раз, когда выхотите прочитать информацию из списка, чтобы увидеть, что было выбрано.