Программная активация узла в инфраструктуре XamDataTree

#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 .