2011-02-01 9 views

答えて

0

this codeを使用して、名前の代わりに一致するタイプに変更することができます。このような

+0

baalazamonの答えは優れています。 –

1

何か:

public static IEnumerable<T> FindDescendants<T>(DependencyObject obj, Predicate<T> condition) where T : DependencyObject 
{ 
    List<T> result = new List<T>(); 

    for (var i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) 
    { 
     var child = VisualTreeHelper.GetChild(obj, i); 

     var candidate = child as T; 
     if (candidate != null) 
     { 
      if (condition(candidate)) 
      { 
       result.Add(candidate); 
      } 
     } 

     foreach (var desc in FindDescendants(child, condition)) 
     { 
      result.Add(desc); 
     } 
    } 

    return result; 
} 

そして、メソッドの呼び出しは次のようになりますタブ項目に含まれるすべてのテキストボックスを発見した場合の:

var allTextBoxes = FindDescendants<TextBox>(myTabItem, e => true); 
関連する問題