我试图确定完成自定义类的集合绑定到一个TreeView的最佳方式。
我现在有两个自定义类,一个集合中举行,一个在第一类中的集合持有:
Collection<Device> _devices = new Collection<Device>();
class Device
{
public ulong DeviceID { get; private set; }
private List<Capability> _capabilities = new List<Capability>();
public string FriendlyName{ get; set; }
public Capability AddCapability(Capability capability)
{
_capabilities.Add(capability);
return capability;
}
public List<Capability> GetCapabilities()
{
// not safe yet
return _capabilities;
}
}
abstract class Capability
{
public uint CapabilityIndex { get; private set; }
public string FriendlyName{ get; set; }
}
我试图让一个TreeView
来显示其扩展列表时的功能的设备的集合。
我已经考虑的选项包括:
- 通过循环和创建从我想要显示的数据TreeNode对象(但我不知道如何最好参考回到原来的对象选择时)
- 从树节点类继承,但这个为我存储在多个地方的同一数据感到丑陋(大部分的时间,所以感觉就像是一种资源的浪费,我不需要他们作为树节点)
有什么建议?