如何为ObservableCollection TreeView的Children创建父属性

时间:2013-10-29 17:18:10

标签: c# wpf treeview observablecollection

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

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

private ObservableCollection<DataModel> _children;

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

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

TreeViewViewModel:

//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?**/ }
        },
    };
}

1 个答案:

答案 0 :(得分:0)

我不知道你的意思。

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

现在你问如何得到父母,对吗?简单地在创建下一个节点时设置父级。

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