ObservableCollection найти элементы в SubSub ObservableCollection - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть несколько классов, объединенных в ObservableCollection (s) и привязанных к wpf TreeView Itemsource

Простой пример ([...] = другие переменные):

Class A
{
object id
[...]
ObservableCollection<B>
}

Class B
{
object id
[...]
ObservableCollection<C>
}

Class C
{
object id
[...]
ObservableCollection<D>
}

Class D
{
object id
[...]

}

ТеперьПользователь нажимает кнопку внутри дерева, чтобы добавить новый элемент, я знаю по кнопке, является ли класс a, b, c или d, и атрибут TAG от кнопки дает мне «id» (идентификатор находится только внутри класса(!) Коллекция уникальна, это означает: во всех случаях ObservableCollection B.id уникален, но A.id и B.id или C.id могут иметь один и тот же идентификатор)

для добавления нового элементав ObservableCollection B легко

(((ObservableCollection<A>)treeView.ItemsSource).Where(A => A.id.ToString() == ((Button)sender).Tag.ToString())).First().B.Add(B_new);

но как я могу получить один из C-D, и E-Sub-Sub-Collections?Где (A => ABid ... не работает

...