@ Король А.Маджид: Я не думаю, что ваша логика верна. А как насчет параметра "RadTreeNode n"?
Мой метод очень прост:
public RadTreeNode CwGetTreeNodeTopParent(RadTreeNode nodeToFindTopParent)
{
var parentNode = nodeToFindTopParent.ParentNode;
if (parentNode.Level == 0)
return parentNode;
parentNode = CwGetTreeNodeTopParent(parentNode);
return parentNode;
}
Вы должны проверить узел (который должен найти верхнего родителя), чтобы убедиться, что это не самый высокий уровень.
Например, мы хотим найти верхнего родителя для selectedNode:
if(selectedNode.Level != 0)
{
var topParent = CwGetTreeNodeTopParent(selectedNode);
//To do something here.
}