【发布时间】:2010-06-03 09:39:50
【问题描述】:
我有一个带有子对象的对象,我使用 linq 加载它。我将它分配给 treeView 的 itemssource。
treeView.DisplayMemberPath = "Name";
treeView.ItemsSource = tasks;
它只显示父节点(task.name),我不知道如何添加子节点(TaskItems.name)。 所有示例都显示了 xaml 中的 HierarchicalData。我需要在代码隐藏中完成,就像上面的代码一样。有可能吗?
public class Task
{
public int Id;
public string Name;
public bool IsActive;
public List<TaskItem> TaskItems = new List<TaskItem>();
}
public class TaskItem
{
public int TaskId;
public string Name;
public string Value;
}
--------------
var tasks1 = from t in xd.Descendants("taskheader")
select new Task
{
Id = (int)t.Element("id"),
Name = t.Element("name").Value,
IsActive = t.Element("isactive").Value == "1",
TaskItems = t.Elements("taskdetail").Select(e => new TaskItem
{
TaskId = (int)e.Element("taskid"),
Name = (string)e.Element("name"),
Value = (string)e.Element("value"),
}).ToList()
};
--------------
List<Task> tasks = new List<Task>();
tasks = tasks1;
【问题讨论】: