2012-06-27 1 views

답변

1

먼저 표시된 각 데이터 항목에 대해 "루트 제어"를 얻으려면 ItemsControl.ContainerFromElement를 호출해야합니다. 그리고 VisualTreeHelper를 사용하여 컨트롤을 반복 할 수 있습니다.

1

당신은 루트 제어의 경우 FindByName을 사용하거나이 기능

public static FrameworkElement FindByName(string name, FrameworkElement root) 
{ 
    Stack<FrameworkElement> tree = new Stack<FrameworkElement>(); 
    tree.Push(root); 

    while (tree.Count > 0) 
    { 
     FrameworkElement current = tree.Pop(); 
     if (current.Name == name) 
      return current; 

     int count = VisualTreeHelper.GetChildrenCount(current); 
     for (int i = 0; i < count; ++i) 
     { 
      DependencyObject child = VisualTreeHelper.GetChild(current, i); 
      if (child is FrameworkElement) 
       tree.Push((FrameworkElement)child); 
     } 
    } 

    return null; 
} 
와 시각적 트리를 통해 갈 수 있습니다
관련 문제