У меня есть объект, который может быть родительским или дочерним для других объектов.Это представитель клиента.Это выглядит так:
public class Site
{
public int SiteId;
public List<Site> Children;
public Site Parent;
}
Когда Parent
равно нулю, это верхний уровень или корневой объект.Не у всех объектов есть дети.Мы не налагаем никаких ограничений на то, сколько уровней может пройти сайт.Наше приложение разработано таким образом, что пользователи и другие данные привязаны к определенному сайту, будь то корневой или дочерний узел в любом месте дерева.По этой причине я должен знать сайт, с которым работает пользователь, чтобы получить правильные данные.
Мой вопрос: как лучше всего разрешить пользователю проходить через это дерево?Здесь много узлов, поэтому возвращать все не нужно.Вместо того, чтобы возвращать все дочерние объекты в моем объекте модели прямо сейчас, я просто возвращаю логическое значение, отмечая, есть ли у сайта дочерние элементы.Затем, когда пользователь щелкнул по этой опции, я планировал собрать дочерние элементы этого узла и показать их для выбора.
Я думал об использовании ListView
вАналогично большинству меню настроек со стрелкой, если они являются опциями.Я также посмотрел на Menu
, но я просто не уверен, что лучший способ сделать это.