无法从对象转换为Treeviewitem

时间:2012-12-12 08:04:50

标签: wpf treeview populate treeviewitem

我正在尝试从一个对象转换为TreeviewItem并获取下一个错误:

"unable to cast object of type 'system.string' to type 'system.windows.controls.treeviewitem'."

我正在寻找解决这个问题的2天,我看到很多关于明确投射到树视图的例子,所以我觉得它合法但不起作用。

foreach (Req ObjReq in reqFilter.NewList())
 {
    index = PM_TreeView.Items.Add(ObjReq.Name);
    TreeViewItem ParentNode = new TreeViewItem();

    //this is the Cast I try to do 
    ParentNode = (TreeViewItem)PM_TreeView.Items[index];

    ParentNode.Tag = ObjReq.ID;
    reqFilter["RQ_FATHER_ID"] = (ObjReq.ID.ToString());
    reqFilter.KeepHierarchical = true;
    if (reqFilter.NewList().Count > 0)
        FillReqTreeView(reqFilter, ObjReq);
  }

主要思想是将reqFilter中的List填充到Treeview中。

1 个答案:

答案 0 :(得分:-1)

消息显示您正在尝试将STRING转换为TreeViewItem。

代码中的第三行

index = PM_TreeView.Items.Add(ObjReq.Name);

将一个STRING添加到Items集合中,而第七个尝试将此相同的字符串强制转换为TreeViewItem

ParentNode = (TreeViewItem)PM_TreeView.Items[index];

不是添加字符串,而是添加一个具有所需Header值的新TreeViewItem