我想知道是否有办法连接到多个资源:
具体我有以下问题
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 的解决方案并不好,因为每当父类添加更多项目以及其项目(子类)添加更多项目时,我都需要动态更新它。
现在我可以继续编写通知事件,但我想知道是否有更聪明的方法来做到这一点
-ie 简单地将源定义为每个 Item FatherClass 拥有的 Items
我有这个数据结构
父亲
|
|___儿童1
|--------|___GrandChild1
|--------|___孙子2
|___儿童2
|-------|___GrandChild3
|-------|___GrandChild4
我想看到像这样的树 TreeView
父亲
|
|___孙子1
|___孙子2
|___孙子3
|___孙子4
这些项目通过 ItemsSource 连接。我希望在添加或删除子孙时使用数据更新 TreeView
孩子是父亲的 ObseravbleCollection,而 garndchildren 是孩子的 Observable 集合(它是一个递归层次结构数据结构,都使用相同类型的类