这与我的another question有关,不幸的是我在标题中总结这个问题很困难 - 所以请耐心等待。
我创建了一个名为Folder
的databindable类,它实现了ITreeItem
接口并继承自BindingList<ITreeItem>
。我有第二个类TreeLeaf
,它是树中的一个叶子,一个不能包含更多子项的终点。
目的是能够数据绑定到Folder
并使数据绑定遍历文件夹树(和n级子文件夹)和叶子。但是,数据绑定不会下降到Folder
的基础BindingList中,因此{alpha}在数据绑定时似乎没有子项。
到目前为止,看起来数据绑定正在使用该文件夹作为Folder
的实例,这是正确的,并没有意识到ITreeItem
不是Folder
的实例。
我的问题是:我如何向数据绑定公开文件夹 ITreeItem
的实现以及{{1}的后代};或者我如何挂钩数据绑定以帮助它沿着结构走下去?
以下是目前实施的一个示例:
ITreeItem
答案 0 :(得分:1)
您可能想考虑拥有儿童房产吗?
public class Folder : ITreeItem
{
public Folder(string name)
{
Name = name;
Children = new BindingList<ITreeItem>();
}
public string Name { get; set; }
public BindingList<ITreeItem> Children { get; private set; }
}