在我的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