using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Windows;
namespace YY.Admin.Core.Extension
{
///
/// 窗体的扩展类
///
public static class WindowExtensions
{
///
/// 查找子控件
///
/// 子控件的类型
/// 要找的是obj的子控件
/// 想找的子控件的Name属性
/// 目标子控件
public static T GetChildObject(this DependencyObject obj, string name) where T : FrameworkElement
{
DependencyObject child = null;
T grandChild = null;
for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)
{
child = VisualTreeHelper.GetChild(obj, i);
if (child is T && (((T)child).Name == name | string.IsNullOrEmpty(name)))
{
return (T)child;
}
else
{
grandChild = GetChildObject(child, name);
if (grandChild != null)
return grandChild;
}
}
return null;
}
}
}