Posted by Christoph on 4/8/2010 2:58 PM | Comments (0)

Mit folgender Methode kann mal alle Kinder unterhalb einer Controls finden, die einen bestimmten Typen haben:

Public Shared Function GetChildsRecursive(ByVal Root As DependencyObject) As IEnumerable(Of DependencyObject)
    Dim Found As New List(Of DependencyObject)
    Found.Add(Root)
    For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(Root) - 1
        Found.AddRange(GetChildsRecursive(VisualTreeHelper.GetChild(Root, i)))
    Next
    Return Found
End Function

z.B. alle Textboxen:

For Each Row In Manager.GetChildsRecursive(LayoutRoot).OfType(Of TextBox)()
	AddHandler Row.ValueChanged, AddressOf ValueChangedBubbler
Next

Diesen Tipp habe ich bei Stackoverflow.com gefunden.