C# WPF&x2B;Controls.UserControl。如何在内部找到控件?

C# WPF&x2B;Controls.UserControl。如何在内部找到控件?,c#,wpf,user-controls,C#,Wpf,User Controls,在我的WPF项目中,我有一个System.Windows.Controls.UserControl控件。如何在该控件中找到控件?如果我正确理解了您的问题,请使用VisualTree 请参阅msdn:,在这种情况下,您可能希望遍历可视化树,就像此扩展方法所做的那样: internal static T FindVisualChild<T>(this DependencyObject parent) where T : DependencyObject { if (parent

在我的WPF项目中,我有一个System.Windows.Controls.UserControl控件。如何在该控件中找到控件?

如果我正确理解了您的问题,请使用VisualTree


请参阅msdn:

,在这种情况下,您可能希望遍历可视化树,就像此扩展方法所做的那样:

internal static T FindVisualChild<T>(this DependencyObject parent) where T : DependencyObject
{
    if (parent == null)
    {
        return null;
    }

    DependencyObject parentObject = parent;
    int childCount = VisualTreeHelper.GetChildrenCount(parent);
    for (int i = 0; i < childCount; i++)
    {
        DependencyObject childObject = VisualTreeHelper.GetChild(parentObject, i);
        if (childObject == null)
        {
            continue;
        }

        var child = childObject as T;
        return child ?? FindVisualChild<T>(childObject);
    }

    return null;
}
内部静态T FindVisualChild(此DependencyObject父对象),其中T:DependencyObject
{
如果(父项==null)
{
返回null;
}
DependencyObject parentObject=父对象;
int childCount=VisualTreeHelper.GetChildrenCount(父级);
for(int i=0;i

它要求您知道所要查找的控件的类型。

是否可以给出一段具体的代码来帮助您?有许多不同的方法来解析子级,这取决于您是想在XAML还是代码中进行解析