ممنون از پاسختون.
شاید نحوه پرسش من اشتباه بوده ، من رو ببخشید.
من هم کل کد رو نخواستم 
من لیستی از یک کلاس دارم به اینصورت.
var items = new List<ItemInfo>() {
new ItemInfo(){ID = 1, ParentID = 4, Name = "A"},
new ItemInfo(){ID = 7, ParentID = 1, Name = "A1"},
new ItemInfo(){ID = 8, ParentID = 1, Name = "A1"},
new ItemInfo(){ID = 9, ParentID = 1, Name = "A1"},
new ItemInfo(){ID = 10, ParentID = 1, Name = "A1"},
new ItemInfo(){ID = 11, ParentID = 1, Name = "A1"},
new ItemInfo(){ID = 12, ParentID = 1, Name = "A1"},
new ItemInfo(){ID = 2, ParentID = 1, Name = "A1"},
new ItemInfo(){ID = 3, ParentID = 0, Name = "B"},
new ItemInfo(){ID = 4, ParentID = 0, Name = "C"},
new ItemInfo(){ID = 5, ParentID = 1, Name = "A2"},
new ItemInfo(){ID = 6, ParentID = 3, Name = "B1"},
};
بعد با این کد میخوام TreeView رو با این آیتم ها پر کنم.
private void FillNode(List<ItemInfo> items, TreeNode node) {
var parentID = node != null
? (int)node.Tag
: 0;
var nodesCollection = node != null
? node.Nodes
: treeView1.Nodes;
foreach (var item in items.Where(i => i.ParentID == parentID))
{
var newNode = nodesCollection.Add(item.Name, item.Name);
newNode.Tag = item.ID;
FillNode(items, newNode);
}
}
این کد برنامه ویندوزی هست اما من بردمش توی قسمت windows Phone .
دوست عزیز بله ویندوز فون TreeView داره .