private void TraverseAncestors(UIElement element, Func <UIElement, bool> action) { if (!action(element)) { foreach (var parent in element.GetParents().OfType <UIElement>()) { if (this.Log().IsEnabled(LogLevel.Trace)) { this.Log().Trace($"TraverseAncestors for [{element}/{element.GetHashCode():X8}] = {parent}/{parent.GetHashCode():X8}"); } if (action(parent)) { return; } } } }