我想知道是否有办法连接多个资源:
具体来说,我有以下问题
abstact class BaseClass
{
ObservableCollection<BaseClass>;
}
class GrandSonClass:BaseClass{}
class SonClass:BaseClass{}
class FatherClass:BaseClass
{
CollectionViewSource col = new CollectionViewSource ;
col.Source = Items.SelectMany(p => p.Items);
}
FatherClass的Items属于ChildrenClass类型,ChildrenClass的Items属于GrandSonClass类型;
我希望FatherClass绑定到它拥有的所有GrandSonClass项目。
使用SelectMany的解决方案并不好,因为每当FatherClass添加更多项目以及每当其项目(SonClasses)添加更多项目时,我都需要动态更新它。
现在我可以继续编写notifiaction事件,但我想知道是否有更聪明的方法来做它
-i.e。只需将源定义为FatherClass拥有的每个项目的项目
我有这个数据结构
父
|
| ___ Child1
| ------ | ___ GrandChild1
| ------ | ___ GrandChild2
| ___ CHILD2
| ------- | ___ GrandChild3
| ------- | ___ GrandChild4
我希望看到像TreeView这样的树
父
|
| ___ GrandChild1
| ___ GrandChild2
| ___ GrandChild3
| ___ GrandChild4
项目通过ItemsSource连接。 我希望每当添加或删除子孙时,都会使用数据更新TreeView
孩子们是父亲的ObseravvolCollection,而且孩子们是孩子们的Observable Collection(它是一个反复的Hierachial数据结构,都使用相同类型的类