我正在使用Infragistics NetAdvantage for Win Client 2010 Vol。 3。
我制作了一个WPF用户控件,它使用XamDataTree控件显示一些嵌套项。 树节点从绑定的Observable项集合中加载:
MenuNode menuTree = getMenuTree(true);
ObservableCollection<MenuNode> menuNodes = menuTree.children;
this.treeFP.ItemsSource = menuNodes;
我找不到合适的树方法来根据某些属性激活节点(例如,一个键?)。所以我创建了一个遍历整个树的方法,直到找到要激活的正确节点:
void selectNode(XamDataTreeNodesCollection nodes, string nodeKey)
然后我以这种方式调用了这个方法:
selectNode(theTree.Nodes, "KEYTOSELECT");
事实证明,theTree.Nodes集合是空的!为什么? 可能是因为物品来源是绑定的?如果这种行为是正确的(?),还有另一种激活单个节点的方法吗?
答案 0 :(得分:2)
这是树节点异步加载的问题。必须从tree_Loaded事件处理程序调用方法'selectNode',它才有效。
以下是更详细的答案:http://forums.infragistics.com/forums/t/56486.aspx。