LogicalTreeHelper.FindLogicalNode(DependencyObject, String) 方法

定义

尝试查找并返回具有指定名称的对象。 搜索从指定的对象开始,并继续进入逻辑树的子节点。

public:
 static System::Windows::DependencyObject ^ FindLogicalNode(System::Windows::DependencyObject ^ logicalTreeNode, System::String ^ elementName);
public static System.Windows.DependencyObject FindLogicalNode(System.Windows.DependencyObject logicalTreeNode, string elementName);
static member FindLogicalNode : System.Windows.DependencyObject * string -> System.Windows.DependencyObject
Public Shared Function FindLogicalNode (logicalTreeNode As DependencyObject, elementName As String) As DependencyObject

参数

logicalTreeNode
DependencyObject

要从中开始搜索的对象。 此对象必须是一个或一个 FrameworkElementFrameworkContentElement

elementName
String

要查找的对象的名称。

返回

找到具有匹配名称的对象;如果在 null 逻辑树中找不到匹配名称,则返回。

注解

这些方法和FrameworkContentElement.FindNameFrameworkElement.FindName方法与表面相似FindLogicalNode,但由不同的逻辑操作:

  • 搜索方向 FindLogicalNode 是面向子对象(树下);方法的搜索方向 FindName 是指向父对象(向上树)。

  • 这些 FindName 方法受 XAML 名称范围的概念的约束。 使用 FindName 可以保证只有该名称的一个对象存在,因为 XAML 名称范围强制实施唯一性。 相比之下, FindLogicalNode 忽略 XAML 名称范围,并在搜索过程中可能跨越 XAML 名称范围边界。 因此,一旦越过边界,就不能保证名称的唯一性 elementName 。 有关 XAML 名称范围的详细信息,请参阅 WPF XAML 名称范围

适用于