构建 TreeView 问题

Building a TreeView issue

我正在尝试构建一个具有 3 个级别的 treeViewItemModel,可能存在也可能不存在。

像这样:

从网络服务中,我得到一个包含 的对象,每个段都有关于 特征 的信息它所属的方向。但是我似乎找不到在上面的结构中构建树的方法。

这是我现在的观点:

foreach (wsPAVSegment.segmentOutput segment in gso.segments)
{
    if (!characteristicList.Contains(segment.characteristic.code))
    {
        characteristicList.Add(segment.characteristic.code);
        characteristicTree.Add(new TreeViewItemModel
        {
            Id = segment.characteristic.code,
            Text = segment.characteristic.mediumDescription
        });
    }
}

foreach (wsPAVSegment.segmentOutput segment in gso.segments)
{
    foreach (TreeViewItemModel item in characteristicTree)
    {
        if (item.Id == segment.characteristic.code)
        {
            TreeViewItemModel tvim = new TreeViewItemModel();
            tvim.Id = segment.segment.id;
            tvim.Text = segment.segment.code;

            item.Items.Add(tvim);
        }
    }
}

foreach (wsPAVSegment.segmentOutput segment in gso.segments)
{
    if (!directionList.Contains(segment.direction.code))
    {
        directionList.Add(segment.direction.code);
        directionTree.Add(new TreeViewItemModel
        {
            Id = segment.direction.code,
            Text = segment.direction.mediumDescription,
            Items = characteristicTree
        });
    }
}

fullTree = directionTree;

结果是一棵只有一个根对应一个方向的树,里面的特征是正确的,特征里面的线段也是正确的。

有人可以帮忙吗?

我通过复制我的获胜公式找到了解决方案。如问题 The result is a tree with only one root that corresponds to a direction, and the characteristics in it are correct, as well as the segments inside the characteristics.

中所述

我选择了两棵树,一棵在另一棵下面,每个方向一棵。问题已解决。