#tree #infragistics
#дерево #инфраструктура
Вопрос:
Я использую Infragistics NetAdvantage для Win Client 2010, том 3.
Я создал пользовательский элемент управления WPF, который показывает некоторые вложенные элементы, используя элемент управления XamDataTree. Узлы дерева загружаются из привязанной коллекции наблюдаемых элементов:
MenuNode menuTree = getMenuTree(true);
ObservableCollection<MenuNode> menuNodes = menuTree.children;
this.treeFP.ItemsSource = menuNodes;
Я не смог найти подходящий метод дерева, который активирует узел на основе определенного свойства (например. ключ?). Итак, я создал метод, который перебирает все дерево, пока не найдет нужный узел для активации:
void selectNode(XamDataTreeNodesCollection nodes, string nodeKey)
Затем я вызвал этот метод следующим образом:
selectNode(theTree.Nodes, "KEYTOSELECT");
Оказалось, что theTree.Коллекция узлов пуста! Почему?
Возможно, потому, что источник элементов привязан? Если это поведение правильное (?), есть ли другой способ активировать отдельный узел?
Комментарии:
1. Вам следует попробовать опубликовать это на форуме для XamDataTree: forums.infragistics.com/forums/478.aspx
Ответ №1:
Это проблема асинхронной загрузки узлов дерева. Метод ‘selectNode’ должен быть вызван из обработчика событий tree_Loaded, и он работает.
Вот более подробный ответ:http://forums.infragistics.com/forums/t/56486.aspx .