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 のアイテムは ChildrenClass タイプであり、ChildrenClass のアイテムは GrandSonClass タイプです。

私は、FatherClass が所有するすべての GrandSonClass のアイテムにバインドするようにします。

SelectMany を使用するソリューションは良くありません。FatherClass がさらにアイテムを追加するたびに、またそのアイテム (SonClasses) がさらにアイテムを追加するたびに、これを動的に更新する必要があるからです。

これで、通知イベントを書き続けることができましたが、それを行うためのよりスマートな方法があるかどうか疑問に思っていました

-つまり、FatherClass が所有する各アイテムのアイテムとしてソースを定義するだけです。

私はこのデータ構造を持っています

お父さん

| |

|___子1

|-----|___孫1

|-----|___孫2

|___子2

|-------|___GrandChild3

|-------|___GrandChild4

このTreeViewのようなツリーが見たい

お父さん

| |

|___孫1

|___孫2

|___孫3

|___孫4

アイテムは ItemsSource を介して接続されます。子または孫が追加または削除されるたびに、TreeView をデータで更新したい

子は父の ObseravbleCollection であり、garndchildren は子の Observable Collection です (すべて同じタイプのクラスを使用する再帰的な階層データ構造です)

4

0 に答える 0