在我的TreeView,我的几个值,尤其是这样的结构:如何检查哪个孩子选择
Nations -> Championships (child of each nation) -> Teams (childs of each championship).
对于国家这是我执行,其执行特定任务的方法的根节点,该同样的冠军,但是,我怎么能检查用户是否选择了团队?那么冠军的孩子呢?
其实我这样做:
TreeViewItem rootNode = (TreeViewItem)e.NewValue;
if (rootNode.Parent is TreeView)
{
soccerSeason.getChampionshipsForTeams(e);
}
else
{
teams.getTeam(e);
}
这个工作只为国家和冠军,我想执行选择为每个团队的另一种方法,我可怎么办呢?因为其实如果我选择一个冠军的孩子,运行的方法是getTeam
。
在你的东西,你的调用处理功能之前,你可以检查的深度:rootNode.SelectedNode.Level - 然而,你有一些其他的遍历TreeView的代码?你所展示的不是遍历节点。 – mjw
你能告诉我一个例子吗? – Bender
这里是如何遍历TreeView中的节点的示例:http://stackoverflow.com/questions/19691286/how-to-iterate-through-all-nodes-of-a-treeview-control-c-sharp - - 这通常是用递归完成的,一旦你设法收集树中的所有节点,就可以应用我上面的第一个建议来检查深度(node.Level)以确定要使用的处理函数(Nations = depth 1 ,冠军=深度2,球队=深度3) – mjw