【问题标题】:wpf treeview does not show child objectswpf treeview 不显示子对象
【发布时间】: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;

【问题讨论】:

    标签: wpf treeview


    【解决方案1】:

    您可以在代码中创建HierarchicalDataTemplate 并将其分配给treeView.ItemTemplate 属性。这确实是解决此问题的最佳方式,也是“正确”的 WPF 方式。

    【讨论】:

      猜你喜欢
      • 2020-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多