0

オブジェクトから TreeviewItem にキャストしようとすると、次のエラーが発生します。

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

2日間、これに対する解決策を探しています。treeviewitemへの明示的なキャストの例をたくさん見たので、合法だと思いますが、機能していません。

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 に設定することです。

4

1 に答える 1

-1

このメッセージは、STRING を TreeViewItem にキャストしようとしていることを示しています。

コードの 3 行目

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

STRING を Items コレクションに追加しますが、7 番目はこの同じ文字列を TreeViewItem にキャストしようとします

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

文字列を追加する代わりに、必要なヘッダー値を持つ新しい TreeViewItem を追加します

于 2012-12-12T08:23:51.247 に答える