/// <summary> /// 최상위 조상이 Stack의 가장 위에 있고, 지정한 node가 가장 아래에 있도록 Stack을 만들어 반환합니다. /// Stack에서 하나씩 꺼내서 Expand 시키거나 Navigation할 때 필요합니다. /// </summary> /// <param name="node"></param> /// <returns></returns> public static Stack <RadTreeNode> GetAncestorNodeAsStack(this RadTreeNode node) { var stack = new Stack <RadTreeNode>(); if (IsDebugEnabled) { log.Debug(@"특정 nodeContainer의 자신과 모든 조상 노드들을 Stack에 담습니다. 최상위 조상이 Stack의 최상위에 위치하도록 합니다. node=[{0}]", node.AsTextAndValue()); } foreach (var ancestorNode in node.GetAncestorNodes()) { stack.Push(ancestorNode); } return(stack); }