Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我能按类型找到逻辑子级吗_C#_Wpf - Fatal编程技术网

C# 我能按类型找到逻辑子级吗

C# 我能按类型找到逻辑子级吗,c#,wpf,C#,Wpf,我知道我可以使用LogicalTreeHelper类来查找每个元素的子节点,并按名称进行搜索。但是否有可能按类型找到子节点?例如,如果我想在我的窗口中查找一个ListBox元素而不知道它的Name属性,该怎么办?我不认为有一种内置的方法可以做到这一点。最好的方法可能是递归调用LogicalTreeHelper.GetChildren(),直到找到指定类型的子控件。请注意,干净地从逻辑树上降下来实际上有点棘手,下面介绍一下视觉树和逻辑树的复杂性 我认为不存在任何帮助程序代码来为您实现这一点,因此需

我知道我可以使用
LogicalTreeHelper
类来查找每个元素的子节点,并按名称进行搜索。但是否有可能按类型找到子节点?例如,如果我想在我的窗口中查找一个ListBox元素而不知道它的Name属性,该怎么办?

我不认为有一种内置的方法可以做到这一点。最好的方法可能是递归调用
LogicalTreeHelper.GetChildren()
,直到找到指定类型的子控件。

请注意,干净地从逻辑树上降下来实际上有点棘手,下面介绍一下视觉树和逻辑树的复杂性

我认为不存在任何帮助程序代码来为您实现这一点,因此需要在树上实现递归遍历