Я пытаюсь создать элемент управления ListView, который заполняется через привязку к коллекции ObservableCollection, которая сама содержит другую коллекцию ObservableCollection, из которой мне нужно отобразить данные в ListView.
Чтобы уточнить, у меня есть иерархия объектовследующим образом:
ClassA
{
int ID = 123;
string Name = "Value";
}
ClassB
{
int ID = 456;
ObservableCollection<ClassA> CollectionOfClassA;
}
ClassC
{
int ID = 789;
ObservableCollection<ClassB> CollectionOfClassB;
}
Исходя из этого, я хотел бы получить следующую компоновку ListView:
(ClassC.CollectionOfClassB ListView)
+-------------+-------------+------------------+--------------------------------+
| ClassB.ID | CollectionOfClassA.ClassA.ID | CollectionOfClassA.ClassA.ID |
+-------------+-------------+------------------+--------------------------------+
| ClassB.ID | CollectionOfClassA.ClassA.ID | CollectionOfClassA.ClassA.ID |
+-------------+-------------+------------------+--------------------------------+
Для достижения этой цели я бы предположил, что мне нужно привязать свой ListView к моему CollectionOfClassBОднако сбор данных, структура таблицы данных и последующее связывание для создания строк меня немного озадачили.
Может ли кто-нибудь помочь мне с этим, пожалуйста?
Большое спасибо,
Редактировать:
Первый столбец в таблице выше ссылается на поле идентификатора для индексированного объекта в коллекции ClassC.CollectionOfClassB, каждая строка представляет собой отдельный объект, хранящийся в CollectionOfClassB.
Каждый из объектов ClassB, хранящихся в CollectionOfClassB, имеет свой собственный CollectionOfClassA, тогда какЯ пытаюсь поместить в список в той же строке, что и его родитель.Каждый объект ClassA в CollectionOfClassA является столбцом.
Edit 2:
Первый столбец заполняется полем ID из ClassB для текущего элемента в CollectionOfClassB,последующие столбцы заполняются данными из каждого элемента в CollectionOfClassA.Заголовок столбца будет ClassA.ID, в то время как содержимое будет, например, ClassA.Name.
Я ищу пример разметки XAML, которая позволит мне добиться этого.