Helper method to find VisualChildren of multiple Types
SRP

Your current soulution violates the Single Responsibility Principle because it does two things: 


it enumerates all children and
it checks if a child is of the specified type


This can and should be splitted into two methods that you can implements as  extensions.

The Children extension will only know how to get all children, nothing more. This means I removed the type checking and I reduced nesting by inverting the first condition.

public static IEnumerable&lt;UIElement&gt; Children(this DependencyObject dependencyObj)
{
    if (dependencyObj == null)
    {
        yield break;
    }

    for (int i = 0; i &lt; VisualTreeHelper.GetChildrenCount(dependencyObj); i++)
    {
        var child = VisualTreeHelper.GetChild(dependencyObj, i);
        if (child != null)
        {
            yield return child as UIElement;
        }

        foreach (var childOfChild in child.Children())
        {
            yield return childOfChild;
        }
    }
}




The second extension OfTypes will be your filter. Here I changed the order of the parameters and decorated the last one with params which will allow you to easier specify the types without having to create an extra list for them.

public static IEnumerable&lt;UIElement&gt; OfTypes(this IEnumerable&lt;UIElement&gt; uiElements, params Type[] types)
{
    return uiElements.Where(x =&gt; types.Contains(x.GetType()));        
}




Example:

var result = currentView.Children().OfTypes(
    typeof(CheckBox),
    typeof(RadioButton),
    typeof(TextBox)
);


The separation of those two concerns allows you to reuse the Children extension for other purposes should you need it somewhere else.

FindVisualChildrenOfMultipleTypes

By using extensions like the two I've just suggested, you can get rid of the very long method name because you splitted it in multiple parts.