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);
        }