我在 Winforms TreeView 控件中有一些分层数据,我需要将其作为属性公开,以便我的演示者可以同步对其的更改。为了清楚起见,我使用的是被动视图模式。对于大多数 WinForm 控件来说,这是显而易见的。控件本身将其数据公开为系统类型,可以轻松传递给演示者。TreeViews,因为它们的复杂性,不容易映射到系统类型。我寻找了一个框架集合类型,但树似乎被忽略了。(微软似乎在引擎盖下使用树结构用于几个更高级别的类,但选择不创建通用树类家族。)
在任何情况下,我试图公开的数据都不会超过两个节点的深度,所以我什至不确定我是否会继续使用 TreeView。更有理由避免将演示者绑定到 TreeNodeCollection。
我已经提出了一些想法,但我只是想将它们从 SO 社区中反弹:
- 将树公开为集合的集合......比如说一个列表字典。
- 创建自定义树结构,在流程中将依赖项引入视图。
顶级节点平均有 5-10 个条目,而它们的子节点理论上可以达到 50 个,但实际上不会超过 3 或 4 个。
有什么建议么?