wpf treeview не показывает дочерние объекты - PullRequest
0 голосов
/ 03 июня 2010

У меня есть объект с дочерними объектами, и я загружаю его, используя linq. И я назначаю его источнику данных TreeView.

treeView.DisplayMemberPath = "Name";
treeView.ItemsSource = tasks;

Показывает только родительские узлы (task.name), я не мог понять, как добавить потомков (TaskItems.name). Все примеры показывают HierarchicalData в xaml. Мне нужно сделать это в коде позади, так же, как приведенный выше код. Возможно ли это?


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;

1 Ответ

0 голосов
/ 03 июня 2010

Вы можете создать код HierarchicalDataTemplate и присвоить его свойству treeView.ItemTemplate. Это действительно лучший способ добиться этого, а также «правильный» путь WPF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...