我在ObservableCollection中组合了一些类,并绑定到wpf Treeview项目源
简单示例([...] =其他变量):
Class A
{
object id
[...]
ObservableCollection<B>
}
Class B
{
object id
[...]
ObservableCollection<C>
}
Class C
{
object id
[...]
ObservableCollection<D>
}
Class D
{
object id
[...]
}
现在,用户在树中按下按钮以添加新的项,我从按钮中知道Class是a,b,c还是d,按钮中的TAG Attrib给我“ id”(ID仅在唯一的Class(!)集合内部,这意味着:在整个ObservableCollection中,B.id是唯一的,但是A.id和B.id或C.id可以具有相同的ID)
向ObservableCollection B添加新项目很容易
(((ObservableCollection<A>)treeView.ItemsSource).Where(A => A.id.ToString() == ((Button)sender).Tag.ToString())).First().B.Add(B_new);
但是如何从C,D和E子子集合中获得一个? Where(A => A.B.id ...不起作用