diff options
Diffstat (limited to 'Gestor.Common/Gestor.Common.Helpers/FindVisualChild.cs')
| -rw-r--r-- | Gestor.Common/Gestor.Common.Helpers/FindVisualChild.cs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Gestor.Common/Gestor.Common.Helpers/FindVisualChild.cs b/Gestor.Common/Gestor.Common.Helpers/FindVisualChild.cs new file mode 100644 index 0000000..4cabf7c --- /dev/null +++ b/Gestor.Common/Gestor.Common.Helpers/FindVisualChild.cs @@ -0,0 +1,32 @@ +using System;
+using System.Windows;
+using System.Windows.Media;
+
+namespace Gestor.Common.Helpers
+{
+ public class FindVisualChild
+ {
+ public FindVisualChild()
+ {
+ }
+
+ public static childItem Find<childItem>(DependencyObject obj)
+ where childItem : DependencyObject
+ {
+ for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
+ {
+ DependencyObject child = VisualTreeHelper.GetChild(obj, i);
+ if (child != null && child is childItem)
+ {
+ return (childItem)child;
+ }
+ childItem _childItem = FindVisualChild.Find<childItem>(child);
+ if (_childItem != null)
+ {
+ return _childItem;
+ }
+ }
+ return default(childItem);
+ }
+ }
+}
\ No newline at end of file |