如何获得UIElement的孩子

时间:2013-10-16 17:30:26

标签: c# .net uielement

在C#PropertyInspectorView中属于UIElement类型。

http://msdn.microsoft.com/en-us/library/system.activities.presentation.workflowdesigner.propertyinspectorview.aspx

我需要得到PropertyInspectorView的孩子。没有继承方法可以做到这一点。由于这继承了UIElement,我想知道是否有办法让UIElement的孩子。

感谢您的关注。这个问题不是已经提出的问题的重复。已经问过的问题有一个xaml部分。我的问题是关于没有XAML连接和purley C#的代码。请尽可能删除重复的标签。谢谢 -

1 个答案:

答案 0 :(得分:6)

您可以使用

ControlTypeIWantToFind result = 
                FindVisualChild<ControlTypeIWantToFind>(myPropertyInspectorView);

public static T FindVisualChild<T>(DependencyObject depObj) where T : DependencyObject
{
    if (depObj != null)
    {
        for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
        {
            DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
            if (child != null && child is T)
            {
                return (T)child;
            }

            T childItem = FindVisualChild<T>(child);
            if (childItem != null) return childItem;
        }
    }
    return null;
}