public static bool IsVisible(this DependencyObject child) { var ancestors = child.AllAncestry().OfType <FrameworkElement>(); foreach (var ancestor in ancestors) { if (ancestor.Visibility == Visibility.Collapsed) { return(false); } } return(true); }