From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Gestor.Common.Helpers/FindVisualChildren.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Codemerx/Gestor.Common/Gestor.Common.Helpers/FindVisualChildren.cs (limited to 'Codemerx/Gestor.Common/Gestor.Common.Helpers/FindVisualChildren.cs') diff --git a/Codemerx/Gestor.Common/Gestor.Common.Helpers/FindVisualChildren.cs b/Codemerx/Gestor.Common/Gestor.Common.Helpers/FindVisualChildren.cs new file mode 100644 index 0000000..9b7f11d --- /dev/null +++ b/Codemerx/Gestor.Common/Gestor.Common.Helpers/FindVisualChildren.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Windows; +using System.Windows.Media; + +namespace Gestor.Common.Helpers +{ + public class FindVisualChildren + { + public FindVisualChildren() + { + } + + public static IEnumerable Find(DependencyObject depObj) + where T : DependencyObject + { + if (depObj != null) + { + for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++) + { + DependencyObject dependencyObject = VisualTreeHelper.GetChild(depObj, i); + if (dependencyObject != null && dependencyObject is T) + { + yield return (T)dependencyObject; + } + foreach (T t in FindVisualChildren.Find(dependencyObject)) + { + yield return t; + } + dependencyObject = null; + } + } + } + } +} \ No newline at end of file -- cgit v1.2.3