【发布时间】:2015-05-21 09:37:47
【问题描述】:
我想显示一个包含实现接口的元素的 TreeView。这个接口是由两个主要类实现的,就是我要展示的。
架构类似于:
IElement
Container : IElement
->public IEnumerable<IElement> Elements {get; set;}
Element : IElement
所以基本上,这个 TreeView 必须能够在任何级别上显示容器和元素。容器应该是“可扩展的”(因为它们包含其他 IElement),但元素不应该。
所以this solution 似乎不合适,因为它设置了两个完全不同的级别(企业/员工)。
我不知道如何使用 IElement 填充 TreeView,同时能够检查它们是容器还是元素,以及如何防止仅扩展其中一种类型。
【问题讨论】:
-
测试元素是否为Container:
if (element is Container) ...