【C#】wpf查找父子节点
来源:互联网 发布:淘宝店铺优惠券在哪里 编辑:程序博客网 时间:2024/05/17 08:48
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Media;namespace TestSeagate.Common{ class UIAssociate { /// <summary> /// 查找第一个父节点是T类型的节点,并返回。 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dobj"></param> /// <returns></returns> public static T GetAncestor<T>(DependencyObject dobj) where T : FrameworkElement { DependencyObject parent = VisualTreeHelper.GetParent(dobj);//可视树 深入内部 while (!(parent is T) && parent != null) { parent = VisualTreeHelper.GetParent(parent); } if (parent != null) { return (T)parent; } else { return null; } } /// <summary> /// 查找所有满足条件的子节点, /// </summary> /// <typeparam name="T"></typeparam> /// <param name="depen"></param> /// <param name="childname"></param> /// <returns></returns> public static List<T> GetChildren<T>(DependencyObject depen,string childname=null) where T:FrameworkElement { DependencyObject child = null; List<T> lists = new List<T>(); for(int i=0;i<VisualTreeHelper.GetChildrenCount(depen);i++) { child = VisualTreeHelper.GetChild(depen,i); if((child is T)&&(((T)child).Name==childname||string.IsNullOrEmpty(childname))) { lists.Add((T)child); } lists.AddRange(GetChildren<T>(child, childname)); } return lists; } }}
阅读全文
0 0
- 【C#】wpf查找父子节点
- 查找指定节点的所有父子节点的示例函数
- WPF使用DEV之TreeListControl---父子节点关系
- jquery的父子兄弟节点查找示例代码
- jquery的父子兄弟节点查找示例代码
- 【WPF】查找父/子控件(元素、节点)
- oracle 父子节点 查询
- js获取父子节点
- 父子节点问题
- treeview 父子节点联动
- mysql 父子节点查询
- js-父子节点
- C 带头节点的单链表查找中间节点
- jquery父子同级节点获取
- jquery寻找父子兄弟节点
- TreeList父子节点的选择
- oracle处理父子节点关系
- js获取父子兄弟节点
- 阿里巴巴Java开发手册v1.2.0识记
- mjpeg的解码和播放
- Maven项目运行报错解决
- Anaconda的使用(可视界面与命令行)
- ListView更新的几种方法
- 【C#】wpf查找父子节点
- 自绘View(时钟)
- 傅圆博客笔记记录
- java 实现WebService 以及不同的调用方式
- 边界提取小程序-MATLAB
- spring springmvc mybatis新建项目
- 使用easyui-combobox生成下拉框时的总结(3)
- 手机端如何维持登录状态
- 近期内存学习的几点心得