我有一个 3 级 TreeView,它使用多重绑定为 Class A 2 TreeViewItems 的每个实例生成为 Class B 的列表。每个 List 都包含 Items 可以说 Class C 。
当 Lists(Class B) 折叠时,我可以在 UI 中为每个 List 添加 Class C 的项目。我什至可以在整个 TreeViewItem(Class A) 折叠时为每个 List(Class B) 添加 Class C。
我的问题是我需要能够访问所有 TreeViewItems,即使它们已折叠。(例如选择它们)。
我尝试这样做,但遇到了以下问题:
1-所有不可见的 TreeViewItems(B 类和 C 类)尚未创建为 TreeViewItems。(我怎样才能使它们成为?)
2-当您第一次扩展 B 类 TreeViewIiem 时,您可以将其所有项目(C 类)视为 TreeViewItems。(显然是微不足道的)
3-在特定A 类 TreeViewItem中展开任何 B 类(只有 2 个)后折叠将导致能够将 C 类实例添加为TreeViewItems,即使整个 TreeViewItem(A 类)被折叠。(只要你留下在这个类 A TreeViewItem)
4-如果您更改所选的 A 类(即,如果您单击另一个 TreeViewItem,其 A 类的祖先与所选的不同)所有不可见的先前选择的 A 类的 TreeViewItems 都将丢失。并且您可以在新选择的 A 类中从第 1 步重新开始。
那么我怎样才能在任何给定时刻选择 C 类或 B 类的任何 TreeViewItem 呢?
谢谢