如何为 ObservableCollection 树视图的子项创建父属性

本文关键字:创建 属性 视图 ObservableCollection | 更新日期: 2023-09-27 18:37:25

我的程序中有一个通过ObservableCollection实现的TreeView。我使用 ViewModel 对树进行初始化和执行操作。前面提到的 ViewModel 附加到具有树中所有公共元素属性的数据模型。

我的TreeView数据模型中的一个属性是Children

private ObservableCollection<DataModel> _children;
public ObservableCollection<DataModel> Children
{
    get { return _children ?? (_children = new ObservableCollection<DataModel>()); }
    set { _children = value; }
}

我想知道如何为这些子节点创建父属性,以便在创建新子节点时可以定义父节点。

树视图模型:

//This is where the nodes are created
private DataModel CreateNode()
{
    return new DataModel()
    {
        Children = 
        { 
            new DataModel() { Parent = /*After creating the property, how would I set the parent?**/ }
        },
    };
}

如何为 ObservableCollection 树视图的子项创建父属性

我不知道

你的意思。

但似乎你在DataModel中也有DataModel等等。

现在你问如何得到父母,对吧?只需在创建下一个节点时设置父节点即可。

private DataModel CreateNode(DataModel parentNode)
{
    return new DataModel()
    {
        Children = 
        { 
            new DataModel() { Parent = parentNode }
        },
    };
}