マルチバインディングを使用して、クラス A 2 TreeViewItems のすべてのインスタンスをクラス B のリストとして生成する 3 レベルの TreeView があります。そして、すべての List に Items が含まれています。これは Class C と言えます。
リスト (クラス B) が折りたたまれている間、UI の各リストにクラス C のアイテムを追加できます。TreeViewItem(Class A) 全体が collapsed である間に、各 List(Class B) に Class C を追加することもできます。
私の問題は、たとえそれらが折りたたまれていても、すべての TreeViewItems にアクセスできるようにする必要があることです (たとえば、それらを選択するため)。
私はそうしようとしましたが、次の問題が発生しました:
1- 表示されないすべての TreeViewItems (クラス B および C) は、まだ TreeViewItems として作成されていません (どのように作成できますか?)
2-クラスBのTreeViewIiemを初めて展開すると、そのすべてのアイテム(クラスC)がTreeViewItemsとして表示されます(明らかに些細なことです)
3-特定のクラス A TreeViewItemで任意のクラス B (2 つしかありません) を展開した後に折りたたむと、TreeViewItem(クラス A) 全体が折りたたまれている場合でも、クラス C インスタンスをTreeViewItemsとして追加できるようになります。このクラス A TreeViewItem で)
4- 選択したクラス A を変更すると (つまり、選択したものとは異なるクラス A の祖先を持つ別の TreeViewItem をクリックした場合)、以前に選択したクラス A の表示されていないすべての TreeViewItem が失われます。新しく選択したクラス A でステップ 1 からやり直すことができます。
では、いつでもクラス C または B の TreeViewItem を選択するにはどうすればよいでしょうか。
ありがとうございました