WPF之VisualTreeHelper
2016-09-02 22:40
453 查看
/// <summary>
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="parent"></param>
/// <returns></returns>
public IEnumerable<T> FindChildren<T>(DependencyObject parent) where T : class
{
var count = VisualTreeHelper.GetChildrenCount(parent);
if (count > 0)
{
for (var i = 0; i < count; i++)
{
var child = VisualTreeHelper.GetChild(parent, i);
var t = child as T;
if (t != null)
yield return t;
var children = FindChildren<T>(child);
foreach (var item in children)
yield return item;
}
}
}
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="parent"></param>
/// <returns></returns>
public IEnumerable<T> FindChildren<T>(DependencyObject parent) where T : class
{
var count = VisualTreeHelper.GetChildrenCount(parent);
if (count > 0)
{
for (var i = 0; i < count; i++)
{
var child = VisualTreeHelper.GetChild(parent, i);
var t = child as T;
if (t != null)
yield return t;
var children = FindChildren<T>(child);
foreach (var item in children)
yield return item;
}
}
}
相关文章推荐
- WPF 3D Hit Test method VisualTreeHelper.HitTest()
- WPF 逻辑树 LogicalTreeHelper、视图树 VisualTreeHelper、控件模板 Template
- WPF中Visible设为Collapse时,VisualTreeHelper.GetChildrenCount为0
- WPF利用VisualTreeHelper遍历寻找对象的子级对象或者父级对象
- WPF中Visible设为Collapse时,VisualTreeHelper.GetChildrenCount为0
- WPF中的VisualTreeHelper
- WPF中Visible设为Collapse时,VisualTreeHelper.GetChildrenCount为0
- WPF之ComboBox的VisualTreeHelper
- VisualTreeHelper 可视化树 逻辑树
- VisualTreeHelper遍历父子控件的通用方法
- 2000条你应知的WPF小姿势 基础篇<45-50 Visual Tree&Logic Tree 附带两个小工具>
- 使用VisualTreeHelper获取DataTemplate中的控件
- LINQ to Tree - A Generic Technique for Querying Tree-like Structures,包含遍历WPF VisualTree
- VisualTreeHelper遍历
- WPF:如何在VisualTree上增加Visual?
- VisualTreeHelper遍历
- VisualTreeHelper不仅仅只是用来查看可视化树结构的
- Visual Layer Overview(3)--VisualTreeHelper Class
- 2000条你应知的WPF小姿势 基础篇<45-50 Visual Tree&Logic Tree 附带两个小工具>
- VisualTreeHelper遍历listbox遇到的问题,测试解决办法