/// <summary>
/// 查找子控件
/// </summary>
/// <typeparam name="T">控件类型</typeparam>
/// <param name="parent">父控件依赖对象</param>
/// <param name="lstT">子控件列表</param>
public static void FindVisualChild<T>(DependencyObject parent, ref List<T> lstT) where T : DependencyObject
{
if (parent != null)
{
T child = default(T);
int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
for (int i = ; i < numVisuals; i++)
{
Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
child = v as T;
if (child != null)
{
lstT.Add(child);
}
FindVisualChild<T>(v, ref lstT);
}
}
}

在DataGrid中查找选定行中的子控件使用实例:

        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataGridRow currentRow = (DataGridRow)dgdRel.ItemContainerGenerator.ContainerFromIndex(dgdRel.SelectedIndex); //获取当前行
if (currentRow != null)
{
List<Control> lstControl = new List<Control>();
FormDispose.FindVisualChild<Control>(currentRow, ref lstControl); //获取当前行内所有的控件
if (lstControl != null)
{
//子控件的处理代码
}
}
}

最新文章

  1. [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作
  2. POJ 1979 题解
  3. 鼠标的change事件
  4. RDIFramework.NET ━ 9.9 角色权限管理 ━ Web部分
  5. java List 简单使用
  6. 处理日期时间NSDate
  7. (转载)Linux下IPTABLES防火墙的设定
  8. phpcms v9中模板标签使用及联动菜单
  9. (原+转)pycharm中传入命令行参数
  10. 网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型_1计算分数精确值
  11. ACE_Event_Handler:事件响应入口
  12. FunDA:一个开源的函数式数据处理工具库,也是Slick的补充
  13. linux nginx搭配https
  14. 【Netty】(9)---Netty编解码器
  15. laravel 路由模型绑定
  16. spss入门
  17. JS模板引擎handlebars.js的简单使用
  18. windows下pem转ppk
  19. MFC知识点
  20. CentOS下搭建Hadoop

热门文章

  1. Android系统源代码目录结构 “Android源代码”“目录结构”
  2. Android的BroadcastReceiver组件
  3. DWM1000 多个基站定位讨论 --[蓝点无限]
  4. 解决 gem 添加sources的时候提示 too many connection resets的问题
  5. python traceback获取详细的异常信息
  6. 做rl_abs过程中遇到的问题
  7. FC105 FC106 Scale功能块使用说明
  8. __x__(26)0907第四天__文档流_网页最底层
  9. ECMA Script 6_RegExp 正则表达式
  10. javascript基础常识了解一下