У меня есть несколько классов, объединенных в 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 ... не работает