1

我想知道是否有办法连接到多个资源:

具体我有以下问题

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 集合(它是一个递归层次结构数据结构,都使用相同类型的类

4

0 回答 0